2330
|
1 Thu Feb 23 09:32:01 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
2 |
|
3 * Version 1.1.1 released. |
|
4 |
|
5 * src/idx-vector.cc (idx_vector (const Range&)): Always initialize |
|
6 data to 0. |
|
7 (idx_vector (const Matrix&, int, const char *, int)): Likewise. |
|
8 (idx_vector (const idx_vector&): Likewise, do it first. |
|
9 * src/idx-vector.h (~idx_vector): Simply delete data. |
|
10 |
|
11 * octMakefile.in: Combine libcruft, liboctave,dld, info, readline, |
|
12 kpathsea, src, scripts, and doc targets into just one. |
|
13 (all): Depend on $(SUBDIRS). |
|
14 * libcruft/Makefile.in (make-objects): Change to $(SUBDIRS) |
|
15 target that doesn't use a loop. |
|
16 (all): Depend on $(SUBDIRS). |
|
17 |
|
18 Wed Feb 22 07:27:18 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
19 |
|
20 * Don't leave @LIBDLD@ on a line by itself. |
|
21 |
|
22 * src/tc-rep-idx.cc (fortran_style_matrix_index): Handle zero-one |
|
23 indexing as a separate case. |
|
24 (fortran_style_matrix_index): Check for out-of-bounds index. |
|
25 |
|
26 * src/idx-vector.cc (init_state): Don't forget len, num_zeros, and |
|
27 the one_zero flag for vectors of all zero elements. |
|
28 (convert_one_zero_to_idx): Set data to zero after deleting it. |
|
29 |
|
30 * src/data.cc (check_dimensions): |
|
31 Handle case of treat_neg_dim_as_zero = "warn". |
|
32 |
|
33 Tue Feb 21 08:18:19 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
34 |
|
35 * src/tree-misc.cc (initialize_undefined_elements): Don't declare |
|
36 arg const. |
|
37 |
|
38 * src/sysdepl.cc (octave_getcwd): Declare arg as char *, not |
|
39 const char *. |
|
40 |
|
41 * src/input.cc (match_sans_spaces): Initialize ep from copy of |
|
42 arg, not arg itself. |
|
43 |
|
44 * octMakefile.in (snapshot-version): Look for OCTAVE_VERSION, |
|
45 not just VERSION. Don't end #define with a semicolon. |
|
46 |
|
47 Mon Feb 20 15:57:17 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
48 |
|
49 * scripts/image/Makefile.in (clean): Delete octtopnm.o and octtopnm. |
|
50 |
|
51 Fri Feb 17 08:12:09 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
52 |
|
53 * src/variables.cc (maybe_add_default_load_path): New function, |
|
54 extracted from default_path(), which no longer needs it. |
|
55 * src/user-prefs.cc (sv_loadpath): Call it here. |
|
56 |
|
57 Wed Feb 15 15:13:22 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
58 |
|
59 * src/octave.cc (verbose_usage): Format help message more like |
|
60 the help messages of other GNU programs. |
|
61 |
|
62 * src/variables.cc (install_builtin_variables): New builtin |
|
63 variable, suppress_verbose_help_message. |
|
64 * src/user-prefs.cc (user_prefs): New field, |
|
65 suppress_verbose_help_message. |
|
66 * src/user-prefs.cc (suppress_verbose_help_message): New function. |
|
67 * src/help.cc (additional_help_message): Check |
|
68 user_pref.suppress_verbose_help_message before printing message. |
|
69 |
|
70 Tue Feb 14 15:36:01 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
71 |
|
72 * src/sysdep.cc (octave_chdir): New function. |
|
73 * src/dirfns.cc (change_to_directory): Use it. |
|
74 |
|
75 * src/sysdep.cc (octave_getcwd): New function. |
|
76 * src/dirfns.cc (get_working_directory, Fpwd): Use it. |
|
77 * src/input.cc (decode_prompt_string): Likewise. |
|
78 |
|
79 * src/version.h (VERSION): New #define. |
|
80 (version_string): Use it. |
|
81 (OCTAVE_COPYRIGHT): New #define. |
|
82 (OCTAVE_NAME_AND_VERSION): New #define. |
|
83 (OCTAVE_NAME_VERSION_AND_COPYRIGHT): New #define. |
|
84 (OCTAVE_STARTUP_MESSAGE): New #define. |
|
85 * src/octave.cc (main): Use new macros from version.h |
|
86 (print_version_and_exit): Likewise. |
|
87 (verbose_usage): Likewise. |
|
88 (Fwarranty): Likewise. |
|
89 |
|
90 * Makeconf.in (version): Make work with new version.h. |
|
91 * octMakefile.in (snapshot-version): Likewise. |
|
92 |
|
93 * src/variables.cc (default_path): Use SEPCHAR instead of literal ':'. |
|
94 * src/utils.cc (pathstring_to_vector): Likewise. |
|
95 * src/octave.cc (initialize_globals): Likewise, use SEPCHAR_STR to |
|
96 construct format string instead of using literal `:'. |
|
97 |
|
98 * configure.in: Call AC_DEFINE for SEPCHAR and SEPCHAR_STR. |
|
99 * acconfig.h: Add #undefs for SEPCHAR and SEPCHAR_STR. |
|
100 |
|
101 * src/dynamic-ld.cc: Don't include dld.h unless WITH_DLD. |
|
102 |
|
103 * src/octave.cc (parse_and_execute): Close file. |
|
104 |
|
105 Mon Feb 13 19:39:12 1995 John Eaton (jwe@bullwinkle.che.utexas.edu) |
|
106 |
|
107 * scripts/general/linspace.m: Delete. |
|
108 * src/data.cc (Flinspace): New function. |
|
109 * liboctave/dRowVector.cc (linspace): New function. |
|
110 * liboctave/CRowVector.cc (linspace): New function. |
|
111 |
|
112 Sun Feb 12 21:23:54 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
113 |
|
114 * src/load-save.cc (read_mat_binary_data): Only convert to string |
|
115 if the number of rows is 1. |
|
116 |
|
117 * scripts/image/saveimage.m: Force ASCII save. |
|
118 |
|
119 Thu Feb 9 08:46:09 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
120 |
|
121 * scripts/elfun/sec.m: Returned variable is `w', not `y'. |
|
122 * scripts/elfun/sech.m: Likewise. |
|
123 |
|
124 Wed Feb 8 10:51:33 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
125 |
|
126 * src/f-find.cc (find_nonzero_elem_idx): Increment i, j indices by |
|
127 1 before stashing them. |
|
128 |
|
129 Fri Feb 3 15:44:03 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
130 |
|
131 * src/tree-misc.cc |
|
132 (tree_parameter_list::initialize_undefined_elements): New function. |
|
133 * src/tree-expr.cc (tree_function::eval): Use it to define return |
|
134 values. |
|
135 (tree_simple_assignment_expression:eval): Complain if RHS is undefined. |
|
136 (tree_multi_assignment_expression:eval): Complain if any of the |
|
137 RHS values are undefined. |
|
138 * src/user-prefs.h (init_user_prefs): New structure element, |
|
139 define_all_return_values. |
|
140 * src/user-prefs.cc (define_all_return_values): New function. |
|
141 * src/variables.cc (install_builtin_variables): Add DEFVARs for |
|
142 default_return_value and define_all_return_values. |
|
143 (builtin_any_variable): New function. |
|
144 |
|
145 Wed Feb 1 08:02:28 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
146 |
|
147 * src/parse.y (parse_error): Call yyerror() here. |
|
148 (input): Not here. |
|
149 |
|
150 * src/lex.l (handle_string): Call have_continuation and |
|
151 have_ellipsis_continuation with 0 arg, to disallow comments after |
|
152 continuation characters inside strings. |
|
153 (have_continuation): New arg, trailing_comments_ok with default |
|
154 value of 1. If !trailing_comments_ok, don't allow comments to |
|
155 follow continuation token. |
|
156 (have_ellipsis_continuation): New arg, trailing_comments_ok, with |
|
157 default value of 1. Pass it along to have_continuation. |
|
158 |
|
159 * src/parse.y (yyerror): Call parse_error with first arg == "%s", |
|
160 since msg might contain format specifiers. |
|
161 |
|
162 * src/tree-expr.cc (tree_index_expression::eval (int)): Detect |
|
163 undefined elements in argument list and print error message. |
|
164 (tree_index_expression::eval (int, int, const Octave_object&)): |
|
165 Likewise. |
|
166 |
|
167 * configure.in: Only set CFLAGS, CXXFLAGS, LDFLAGS, FFLAGS, and |
|
168 F2CFLAGS if they are not already set in the environment. |
|
169 |
|
170 * doinstall.sh: Add -print to find commands. |
|
171 |
|
172 Tue Jan 31 13:26:53 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
173 |
|
174 * src/lex.l (<MATRIX>{S}*\,{S}*): Eat any trailing continuation |
|
175 here. Use value returned from eat_continuation to decide whether |
|
176 to insert a row separator. |
|
177 (<MATRIX>{S}+): Likewise. |
|
178 (<MATRIX>{SNLCMT}*\n{SNLCMT}*): Eat any trailing whitespace here. |
|
179 |
|
180 * lex.l (ATE_SPACE_OR_TAB, ATE_NEWLINE): New macros. |
|
181 (eat_whitespace): Use them to set return value. |
|
182 |
|
183 Mon Jan 30 14:02:24 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
184 |
|
185 * src/user-prefs.cc (set_output_precision): Don't pass NaN to NINT. |
|
186 (set_output_max_field_width): Likewise. |
|
187 (set_save_precision): Likewise. |
|
188 * src/file-io.cc (return_valid_file): Likewise. |
|
189 (fgets_internal): Likewise. |
|
190 (fseek_internal): Likewise. |
|
191 (process_printf_format): Likewise. |
|
192 (fread_internal): Likewise. |
|
193 * src/f-colloc.cc (Fcolloc): Likewise. |
|
194 * src/f-fft.cc (Ffft): Likewise. |
|
195 * src/f-fft2.cc (Ffft2): Likewise. |
|
196 * src/f-ifft.cc (Fifft): Likewise. |
|
197 * src/f-ifft2.cc (Fifft2): Likewise. |
|
198 * src/f-npsol.cc (do_npsol_option): Likewise. |
|
199 * src/f-qpsol.cc (do_qpsol_option): Likewise. |
|
200 * src/f-rand.cc (Frand): Likewise. |
|
201 * src/pr-output.cc (all_elements_are_ints): Likewise. |
|
202 * src/tree-plot.cc (subplot_using::eval): Likewise. |
|
203 (subplot_style::print): Likewise. |
|
204 * src/sysdep.cc (Fpause): Likewise. |
|
205 * src/tc-rep.cc (TC_REP::valid_as_scalar_index): Likewise. |
|
206 (TC_REP::valid_as_zero_index): Likewise. |
|
207 (TC_REP::convert_to_str): Likewise. |
|
208 * src/tc-rep-idx.cc (TC_REP::do_scalar_index): Likewise. |
|
209 (TC_REP::fortran_style_matrix_index): Likewise. |
|
210 * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment): |
|
211 Likewise. |
|
212 |
|
213 Sat Jan 28 13:09:44 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
214 |
|
215 * scripts/general/tril.m: Allow the k == nc for k > 0 and |
|
216 -k == nr for k < 0. Make faster by eliminating nested loops. |
|
217 * scripts/general/triu.m: Likewise. |
|
218 |
|
219 Fri Jan 27 08:32:10 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
220 |
|
221 * libcruft/lapack: Update with files from LAPACK 2.0. |
|
222 |
|
223 * src/lex.l (\[{S}*): Don't call fixup_column_count() here. |
|
224 Don't use TOK_RETURN here, since we call eat_whitespace(). |
|
225 (eat_whitespace): Decrement current_input_column when calling |
|
226 yyunput(). |
|
227 (<MATRIX>{SNLCMT}*\n{SNLCMT}): Always call fixup_column_count(). |
|
228 |
|
229 * src/parse.y (rows): Don't accept repeated semicolons. |
|
230 (matrix_row): Likewise, for commas. |
|
231 |
|
232 * src/Makefile.in (LIBOBJS): Delete. |
|
233 |
|
234 * liboctave/f77-uscore.h: Don't use C++ style comments. |
|
235 |
|
236 * octMakefile.in (DISTDIRS): Don't include bsd-math. |
|
237 * src/Makefile.in (VPATH): Don't include bsd-math directory. |
|
238 (SOURCES): Include acosh.c, asinh.c, atanh.c, erf.c erfc.c, and |
|
239 lgamma.c. |
|
240 * configure.in: Create libcruft/slatec-fn/Makefile. |
|
241 Use AC_CHECK_FUNCS to look for acosh, asinh, atanh. |
|
242 Don't do anything special if they are missing. |
|
243 * src/acosh.c, src/asinh.c, src/atanh.c, src/erf.c, src/erfc.c, |
|
244 src/lgamma.c: New files. |
|
245 * acconfig.h: Delete #undefs for ACOSH_MISSING, ASINH_MISSING, |
|
246 and ATANH_MISSING. |
|
247 * libcruft/Makefile.in (CRUFT_DIRS): Add slatec-fn. |
|
248 * libcruft/slatec-fn: New directory. |
|
249 |
|
250 * configure.in: Don't try to use IEEE floating point on m68k HP |
|
251 systems. |
|
252 |
|
253 Thu Jan 26 12:57:05 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
254 |
|
255 * src/lex.l (maybe_unput_comma): New function, extracted from |
|
256 handle_identifier(). Correctly handle the dot in things like |
|
257 `a.b' inside matrix lists. |
|
258 (handle_identifier): Use it. Don't allow things like [a .1] or |
|
259 [a.b .1] to fool us. |
|
260 |
|
261 Wed Jan 25 08:04:16 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
262 |
|
263 * scripts/Makefile.in (realclean): Don't depend on distclean. Do |
|
264 delete Makefile here. |
|
265 |
|
266 * flibs.sh: Also check for /*values-*.o, for Sun Fortran 2.x. |
|
267 * configure.in (FLIB_LIST, CXXLIB_LIST, FLIB_PATH, CXXLIB_PATH): |
|
268 Delete any .o files found here. |
|
269 When checking for -lm, also append -lc on Linux systems. |
|
270 |
|
271 * mkinstalldirs: Create directories with mode 0755, to avoid |
|
272 problems because the installers umask is too restrictive. |
|
273 |
|
274 * octave-bug.in: Don't use rmail, it crashes on Ultrix systems if |
|
275 the message file isn't just right. Use nested if statements |
|
276 instead of ||, for Ultrix /bin/sh. Avoid Ultrix awk crash. |
|
277 |
|
278 * scripts/linear-algebra/trace.m: Handle row and column vectors as |
|
279 a special case. |
|
280 * scripts/linear-algebra/null.m: Likewise. |
|
281 * scripts/linear-algebra/orth.m: Likewise. |
|
282 |
|
283 Tue Jan 24 08:11:51 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
284 |
|
285 * octave-bug.in: Add F2C, F2CFLAGS, FLIBS, and LDFLAGS to report. |
|
286 * Makefile.in (octave-bug): Substitute them. |
|
287 |
|
288 Mon Jan 23 20:42:55 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
289 |
|
290 * src/tree-misc.cc (tree_if_clause::is_else_clause): New function. |
|
291 (tree_if_command_list::print_code): Use it to decide whether to |
|
292 print "else" or "elseif" here. |
|
293 (tree_if_clause::print_code): Don't print "else" here. |
|
294 |
|
295 * scripts/image/colormap.m: Fix logic for initializing default |
|
296 colormap and handling subsequent calls with no arguments. |
|
297 |
|
298 * src/lex.h (TOK_PUSH_AND_RETURN): Correct last change. |
|
299 |
|
300 Sun Jan 22 18:02:37 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
301 |
|
302 * src/lex.l (handle_identifier): Handle incrementing |
|
303 current_input_column here. |
|
304 ({IDENT}{S}*): Not here. |
|
305 |
|
306 * src/lex.h (TOK_PUSH_AND_RETURN): New macro. |
|
307 * src/lex.l: Use it. |
|
308 |
|
309 * src/parse.y (yyerror): If printing input line, always print `^' |
|
310 error marker too. |
|
311 |
|
312 * src/parse.y (command [BREAK]): Allow break to occur in function |
|
313 bodies too. |
|
314 * src/tree-expr.cc (tree_function::eval): Also check to see if |
|
315 function exited because of a break statement. |
|
316 |
|
317 Fri Jan 20 10:48:18 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
318 |
|
319 * config.guess: Replace with current version from FSF. |
|
320 * config.sub: Likewise. |
|
321 |
|
322 * src/tempname.c: Include statdefs.h. |
|
323 |
|
324 * src/tree-expr.cc (eval): Improve error messages. |
|
325 |
|
326 Thu Jan 19 08:33:50 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
327 |
|
328 * src/lex.l (handle_string): Properly handle pending escapes. |
|
329 Call error() for unterminated string constants. |
|
330 * src/parse.y (input): For parse errors, call yyerror(). |
|
331 |
|
332 * test/config/unix-octave.exp (octave_start): Correctly set OSPATH |
|
333 from $OCTAVE_SCRIPT_PATH, not to the string OCTAVE_SCRIPT_PATH. |
|
334 |
|
335 * test/Makefile.in (OCTAVE_SCRIPT_PATH): Delete surrounding quotes |
|
336 in definition. |
|
337 |
|
338 * doc/texinfo.tex: Move to version 2.140. |
|
339 |
|
340 * src/f-rand.cc (Frand): Use different method for generating |
|
341 initial seed so that it varies more each time Octave starts. |
|
342 |
|
343 * src/file-io.cc (feof_internal): Use args(0), not args(1). |
|
344 |
|
345 * src/Makefile.in (SOURCES): Use tempnam.c, not tmpnam.c. |
|
346 * src/tempnam.c: New file, from the GNU C library. |
|
347 |
|
348 Wed Jan 18 08:10:31 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
349 |
|
350 * src/user-prefs.h (user_prefs): New field, read_only_constants. |
|
351 * src/user-prefs.cc (read_only_constants): New function. |
|
352 * src/variables.cc (install_builtin_variables): Add DEFVAR for |
|
353 read_only_constants, but leave it #if 0'd out since we're not |
|
354 really ready for it yet.. |
|
355 * src/symtab.cc (symbol_record::read_only_error): Check |
|
356 user_prefs.read_only_constants to see if it is ok to redefine |
|
357 constants that are marked as read-only. |
|
358 |
|
359 * src/user-prefs.h (user_prefs): New field, ps4. |
|
360 * src/user-prefs.cc (sv_ps4): New function. |
|
361 * src/variables.cc (install_builtin_variables): Add DEFVAR for PS4. |
|
362 * src/input.cc (do_input_echo): New function. Use PS4 variable as |
|
363 prefix of echoed input. Send echoed input through the pager. |
|
364 |
|
365 * flibs.sh: Ignore -lang* options. |
|
366 |
|
367 * src/load-save.cc (Fsave): Send `save - ...' output through the |
|
368 pager. |
|
369 |
|
370 * doc/Makefile.in: Create and distribute refcards of various sizes. |
|
371 Delete rules for making refcard.tex from refcard.tex.in. |
|
372 Don't make or distribute refcard-local. |
|
373 * doc/refcard.tex: Handle setting paper size with \refcardsize. |
|
374 * doc/refcard-a4.tex, doc/refcard-legal.tex, doc/refcard-letter.tex: |
|
375 New files. |
|
376 |
|
377 Mon Jan 16 13:19:29 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
378 |
|
379 * src/tc-rep-ass.cc (TC_REP::do_scalar_assignment): Handle |
|
380 assignments like a(0) = []. |
|
381 * src/tc-inlines.h (valid_zero_index): New function. |
|
382 * src/tc-rep.cc (valid_as_zero_index): New function. |
|
383 * src/tree-const.h (valid_as_zero_index): New function. |
|
384 |
|
385 * src/parse.y (func_def2): Check user_prefs before warning about |
|
386 function name and function file name conflict. |
|
387 * src/user-prefs.h (user_prefs): New field, warn_function_name_clash. |
|
388 * src/user-prefs.cc (warn_function_name_clash): New function. |
|
389 * src/variables.cc (install_builtin_variables): Add DEFVAR for |
|
390 warn_function_name_clash. |
|
391 |
|
392 * scripts/image/octtopnm.c: Include stdlib.h instead of malloc.h. |
|
393 |
|
394 Sun Jan 15 15:08:04 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
395 |
|
396 * readline/rldefs.h: Use new #defines for directory headers now |
|
397 that we are using autoconf 2. |
|
398 |
|
399 * scripts/special-matrix/hankel.m: Use .', instead of '. |
|
400 |
|
401 * src/input.cc (match_sans_spaces): Use strcmp, not strncmp. |
|
402 |
|
403 * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment): |
|
404 For scalar index, don't do assignment if RHS and LHS are both empty. |
|
405 |
|
406 * src/data.cc (Fsize): Handle optional second arg. |
|
407 |
|
408 * src/tree-expr.cc (tree_function::eval (int)): Correctly set |
|
409 nargin and nargout to zero when evaluating function. |
|
410 |
|
411 * src/lex.l (handle_string): Correct handling of string escapes. |
|
412 |
|
413 Thu Jan 12 15:25:34 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
414 |
|
415 * Version 1.1.0 released. |
|
416 |
|
417 * octMakefile.in (bin-dist-tar): Ignore errors on strip commands. |
|
418 |
|
419 * src/tree-expr.cc (tree_builtin::eval (int)): Set nargout to 0 |
|
420 when calling function. |
|
421 |
|
422 * doc/Makefile.in (FORMATTED): Add refcard.dvi and refcard.ps so |
|
423 that they are distributed along with the other docs. |
|
424 * octMakefile.in (clean-doc-dist-tar): Delete target. |
|
425 (doc-dist): Depend on doc-dist-tar, not clean-doc-dist-tar. |
|
426 |
|
427 Tue Jan 10 14:29:43 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
428 |
|
429 * src/help.cc (print_usage): Print warning if symbol isn't found. |
|
430 |
|
431 * src/utils.cc (Fundo_string_escapes): Fix typo in call to |
|
432 print_usage(). |
|
433 |
|
434 * src/octave.cc (Fsystem): Correctly compute exit code. |
|
435 |
|
436 * scripts/miscellaneous/etime.m: Complain if args are not the |
|
437 right length, not if they are. Reverse sense of test for years. |
|
438 Duh. |
|
439 |
|
440 * src/f-find.cc (find_to_fortran_idx): For the case of one output |
|
441 argument, return a row vector if the original argument to find was |
|
442 a row vector. |
|
443 |
|
444 Mon Jan 9 12:57:27 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
445 |
|
446 * src/lex.l (grab_help_text): Always overwrite help_buf. |
|
447 ({CCHAR}): Don't call grab_help_text() if there is already |
|
448 something in help_buf. |
|
449 |
|
450 Sat Jan 7 12:28:35 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
451 |
|
452 * configure.in (HOST_CXXFLAGS): New variable to substitute. |
|
453 * Makeconf.in (ALL_CXXFLAGS, UGLY_ALL_CXXFLAGS, BUG_CXXFLAGS): |
|
454 Add $(HOST_CXXFLAGS). |
|
455 |
|
456 Fri Jan 6 13:07:09 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
457 |
|
458 * scripts/special-matrix/toeplitz.m: Use .' instead of '. |
|
459 |
|
460 Tue Jan 3 18:14:33 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
461 |
|
462 * test: Rewrite many tests to not run Octave interactively. This |
|
463 makes the log files much more readable. |
|
464 |
|
465 * octMakefile.in (clean-tar): Delete octave-test/npsol directory, |
|
466 not just test/octave.test/npsol.exp. Likewise, add a command for |
|
467 deleting qpsol tests. |
|
468 |
|
469 Mon Jan 2 20:02:10 1995 John Eaton <jwe@schoch.che.utexas.edu> |
|
470 |
|
471 * src/octave.cc (main): Return 0 if error_state is not set. |
|
472 |
|
473 * src/error.cc (error_1): New function. |
|
474 (error): Use it. |
|
475 (parse_error): New function. |
|
476 * src/parse.y: Never call error and yyerror; just use yyerror. |
|
477 (yyerror): Improve logic. Use new parse_error() function so that |
|
478 error_state is always set for a parse error. Don't use |
|
479 ostream::form(). |
|
480 (ABORT_PARSE): Don't call reset parser here. |
|
481 (colon_expr): Don't call yyerror here. An error message is |
|
482 printed by tree_colon_expression::chain() if it fails. |
|
483 |
|
484 Mon Dec 26 20:11:01 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
485 |
|
486 * src/tree-expr.cc (eval): Only call multi-arg form of eval for |
|
487 object_to_eval if necessary. |
|
488 |
|
489 Fri Dec 23 00:08:08 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
490 |
|
491 * src/lex.l: Don't increment promptflag anywhere. |
|
492 (eat_continuation): New function. |
|
493 (eat_whitespace): Handle embedded continuations. Return nonzero |
|
494 if whitespace consumed. |
|
495 (handle_close_brace): Don't pass yytext. Do pass flag indicating |
|
496 whether whitespace follows brace. |
|
497 (handle_identifier): Check for next token being `=' here. Pass |
|
498 flag indicating whether whitespace follows identifier. |
|
499 (<MATRIX>{SNLCMT}*;{SNLCMT}*): Call eat_whitespace() here. |
|
500 ({IDENT}{S}*): Call eat_continuation() here. |
|
501 (do_comma_insert_check): And here, but put a space back if |
|
502 whitespace is gobbled. |
|
503 (have_continuation, have_ellipsis_continuation): Decrement |
|
504 promptflag here. |
|
505 |
|
506 Wed Dec 21 09:56:49 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
507 |
|
508 * src/tree-plot.cc (Fclearplot): Send "set nolabel" too. |
|
509 |
|
510 Mon Dec 19 17:50:15 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
511 |
|
512 * src/tree-plot.h, src/tree-plot.cc (subplot): Rename using to |
|
513 using_clause to avoid new C++ keyword. Rename title and style to |
|
514 match. |
|
515 |
|
516 Fri Dec 16 00:09:01 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
517 |
|
518 * configure.in: Don't check for fpsetmask. |
|
519 * src/sysdep.cc (sysdep_init): Don't check HAVE_FPSETMASK |
|
520 |
|
521 Thu Dec 15 00:28:52 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
522 |
|
523 * src/variables.cc (install_builtin_variables) [default_save_format]: |
|
524 Fix doc string. |
|
525 |
|
526 * configure.in: Rework DEFAULT_DOT_O_FROM_DOT_F and |
|
527 DEFAULT_DOT_C_FROM_DOT_F to avoid embedded newlines. |
|
528 * Makeconf.in: Likewise. |
|
529 |
|
530 * src/pager.cc (flush_output_to_pager): Close stream before |
|
531 resetting signal handler. |
|
532 |
|
533 * src/help.cc (Fhelp): Call fcn_file_in_path here. Delete it too. |
|
534 Print file name before help message. |
|
535 * src/variables.cc (get_help_from_file): Don't call |
|
536 fcn_file_in_path here. |
|
537 (gobble_leading_white_space): Correctly grab only first set of |
|
538 comments. |
|
539 |
|
540 Wed Dec 14 11:42:13 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
541 |
|
542 * src/parse.y (pager_buf): Don't make it a fixed-size array. |
|
543 * src/variables.cc (get_help_from_file): New function. |
|
544 (gobble_leading_white_space): Return first block of comments for |
|
545 later use as help string. |
|
546 (looks_like_octave_copyright): New function. |
|
547 (parse_fcn_file): Stash help from gobble_leading_white_space in |
|
548 global help_buf. |
|
549 * src/lex.l (grab_help_text): Don't overwrite help found by |
|
550 gobble_leading_white_space. |
|
551 (reset_parser): Delete help_buf. |
|
552 * src/help.cc (Fhelp): Only try to get help from symbol records |
|
553 that are defined. If all else fails, try get_help_from_file. |
|
554 |
|
555 * src/pager.cc (flush_output_to_pager): Re-initialize pager_buf |
|
556 immediately after extracting message. Delete message immediately |
|
557 after sending it to the output stream. Ignore interrupts while |
|
558 running pager. |
|
559 |
|
560 * octMakefile.in (clean-tar): Delete npsol.exp and any .m files |
|
561 that are in the test/octave.test directory. |
|
562 (install): Use $(INSTALL), not just install. |
|
563 |
|
564 * src/lex.l (reset_parser): Don't reset input column or line |
|
565 number if reading from a script file or a function file. |
|
566 (is_keyword): Don't set line number to 1 if reading function file |
|
567 or script file. |
|
568 * src/variables.cc (gobble_leading_whitespace): Count lines. |
|
569 * src/octave.cc (main): If reading file, set reading_script_file |
|
570 and curr_fcn_file_name before calling get_input_from_file(). |
|
571 |
|
572 * src/tc-rep.cc (TC_REP::matrix_value): If implicit_str_to_num_ok, |
|
573 convert empty string to empty matrix. |
|
574 |
|
575 Tue Dec 13 20:25:34 1994 Frederick (Rick) A Niles <niles@axp745.gsfc.nasa.gov> |
|
576 |
|
577 * liboctave/dbleQR.cc, liboctave/dbleQRP.cc, liboctave/CmplxQR.cc, |
|
578 liboctave/CmplxQRP.cc: Get economy-sized dimensions correct. |
|
579 |
|
580 * libcruft/misc/i1mach.f, libcruft/misc/gen-d1mach.c, |
|
581 libcruft/ranlib/ignuin.f: Prevent warnings about variable may be |
|
582 used before defined. |
|
583 |
|
584 Tue Dec 13 11:07:34 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
585 |
|
586 * src/variables.cc: Change commas_in_literal_matrix to |
|
587 whitespace_in_literal_matrix. |
|
588 * src/user-prefs.h (user_preferences): Likewise. |
|
589 * src/user-prefs.cc (init_user_prefs): Likewise. |
|
590 (whitespace_in_literal_matrix): Likewise, rename function. |
|
591 * src/lex.l: Likewise. |
|
592 (nesting_level): Rename from in_brace_or_paren. |
|
593 (<MATRIX>{SNLCMT}*\n{SNLCMT}*): Make separate case from |
|
594 <MATRIX>{SNLCMT}*;{SNLCMT}. Check nesting level to decide whether |
|
595 to convert newline to semicolon. |
|
596 ({NL}, {CCHAR}): Check nesting level to decide whether to eat |
|
597 or return newline. |
|
598 ("("): Decrement promptflag. |
|
599 (")"): Increment promptflag. |
|
600 |
|
601 Mon Dec 12 00:02:51 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
602 |
|
603 * scripts/Makefile.in, scripts/*/Makefile.in (install): Don't |
|
604 depend on all. |
|
605 |
|
606 * octMakefile.in: Put doc dir last. |
|
607 * doc/Makefile.in (dir): New file. |
|
608 (DISTFILES): Distribute dir. |
|
609 (install): Install dir if it does not already exist in $(infodir). |
|
610 Otherwise, print message. |
|
611 |
|
612 * src/lex.l: Handle {IDENT}{S}*/= with yyinput() instead of |
|
613 trailing context. |
|
614 (handle_close_brace): New function. |
|
615 (handle_number): New function. |
|
616 (have_continuation, handle_ellipsis_continuation, handle_string): |
|
617 New functions for handling strings and continuation lines in |
|
618 string constants. |
|
619 (eat_whitespace): New function eliminates need for NEW_MATRIX |
|
620 start state. |
|
621 |
|
622 Sun Dec 11 15:53:03 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
623 |
|
624 * src/lex.l: Eliminate special case for eating whitespace when |
|
625 start state is <TEXT_FCN>. |
|
626 Merge three cases for handling `]' for <MATRIX> start state. |
|
627 |
|
628 Fri Dec 9 12:21:35 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
629 |
|
630 * src/lex.l: Handle `\' as a continuation character too. |
|
631 Allow comments and blanks to follow continuation characters. |
|
632 Improve handling of comments in matrices. Create a few more |
|
633 definitions for patterns. Restructure source. |
|
634 |
|
635 * configure.in: Check for bcopy too. |
|
636 |
|
637 * configure.in (gxx_version): Don't use -fno-implicit-templates on |
|
638 AIX systems with g++ 2.6.x. |
|
639 |
|
640 * octave-bug.in: Check for CC: lines too. Use case-insensitive |
|
641 match for To: and Cc: lines. Actually send file that has header |
|
642 separator stripped. Print list of CC: addresses too. |
|
643 |
|
644 * src/input.cc (get_user_input): If user enters empty string, |
|
645 return empty matrix or empty string. |
|
646 |
|
647 * src/help.cc (Fhelp, Ftype, Fwhich): Don't allow lookup_by_name |
|
648 to execute script files. |
|
649 |
|
650 Thu Dec 8 23:20:02 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
651 |
|
652 * src/tc-rep.cc (print): Don't check `print', which is not a |
|
653 variable in this context. |
|
654 |
|
655 Wed Dec 7 10:52:59 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
656 |
|
657 * src/configure.in: Check for fpsetmask. |
|
658 * src/sysdep.cc (sysdep_init): Check HAVE_FPSETMASK. Only call it |
|
659 if either __386BSD__ or __FreeBSD__ is defined. |
|
660 Don't check __386BSD__ as a condition for including |
|
661 floatingpoint.h. |
|
662 |
|
663 Mon Dec 5 12:29:07 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
664 |
|
665 * src/utils.cc: Update directory header macro names for autoconf 2. |
|
666 * src/dirfns.cc: Likewise. |
|
667 |
|
668 Sun Dec 4 22:00:40 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
669 |
|
670 * octMakefile.in (DISTFILES): Don't distribute GCC.PATCH, since it |
|
671 is not needed with gcc 2.6.3. |
|
672 |
|
673 * configure.in: Really do disable IEEE floating point functions on |
|
674 the Alpha. |
|
675 |
|
676 Wed Nov 30 11:42:44 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
677 |
|
678 * doc/FAQ.texi: New file. |
|
679 * doc/Makefile.in: Create info, dvi, and ps files and distribute |
|
680 them. |
|
681 |
|
682 * Makefile.in (all): Expand initial message. |
|
683 |
|
684 Sat Nov 26 21:47:05 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
685 |
|
686 * src/octave.cc (Fcomputer): Always append ios::ends to ostrstream |
|
687 before returning. |
|
688 |
|
689 Mon Nov 21 09:41:34 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
690 |
|
691 * src/lex.l: When start state is TEXT_FCN, gobble blanks with |
|
692 pattern that matches only blanks before other patterns that can |
|
693 also match just blanks. Always check whether in_brace_or_paren |
|
694 stack is empty before trying to use it. |
|
695 |
|
696 * src/parse.y (make_multi_val_ret): Call constructor for |
|
697 tree_simple_assignment_expression with correct number of args. |
|
698 |
|
699 * scripts/plot/shg.m: New function. |
|
700 |
|
701 * src/f-qpsol.cc (Fqpsol): Correct for changes in meaning of |
|
702 nargin and the way args is loaded. |
|
703 * src/f-npsol.cc (Fnpsol): Likewise. |
|
704 |
|
705 * scripts/polynomial/roots.m: Return empty matrix for scalar or |
|
706 empty matrix args. |
|
707 |
|
708 * src/tree-plot.cc (gnuplot_terminal_type): New static variable. |
|
709 (Fset): If this is a set term command, set gnuplot_terminal_type. |
|
710 (open_plot_stream): Use gnuplot_terminal_type if it is set. |
|
711 |
|
712 * src/idx-vector.cc (idx_vector::init): Don't check max value of |
|
713 index vector against dimension here. We may need to resize. |
|
714 * src/tc-rep-idx.cc (do_scalar_index): Do check idx-vector max |
|
715 value here. |
|
716 |
|
717 * src/lex.l (is_plot_keyword): Don't set past_plot_range here. |
|
718 Don't accept abbreviations for clear. |
|
719 (handle_identifier): Don't call is_plot_keyword unless plotting. |
|
720 Set past_plot_range here, before checking for plot option keywords. |
|
721 |
|
722 Fri Nov 18 17:25:59 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
723 |
|
724 * src/data.cc (Fis_struct): New function. |
|
725 |
|
726 Thu Nov 17 18:13:56 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
727 |
|
728 * octMakefile.in (DISTFILES): Distribute GCC.PATCH. Don't |
|
729 distribute LIBG++.PATCH. |
|
730 |
|
731 * src/tree-plot.cc (Fclearplot): Turn off grid and reset |
|
732 plot_line_count to zero. |
|
733 |
|
734 * configure.in: Check for sys/resource.h. |
|
735 Create scripts/strings/Makefile too. |
|
736 |
|
737 * src/timefns.cc: Surround inclusion of sys/resource.h in extern "C". |
|
738 Only include sys/resource.h if both HAVE_SYS_RESOURCE_H and |
|
739 HAVE_GETRUSAGE are defined. |
|
740 |
|
741 Wed Nov 16 09:26:10 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
742 |
|
743 * scripts/plot/plot_opt.m: New function. |
|
744 * scripts/plot/semilogx.m, scripts/plot/semilogx.m, |
|
745 scripts/plot/loglog.m, scripts/plot/plot.m: Handle additional |
|
746 args and format strings. |
|
747 * scripts/plot/polar.m: Handle format arg. |
|
748 * scripts/plot/polar_int_1.m, scripts/plot/polar_int_2.m: Extract |
|
749 from polar_int.m. |
|
750 * scripts/plot/plot_int_1.m, scripts/plot/plot_int_2.m: Extract |
|
751 from plot_int.m. |
|
752 * scripts/plot/plot_2_s_s.m, scripts/plot/plot_2_v_v.m, |
|
753 scripts/plot/plot_2_m_m.m, scripts/plot/plot_2_v_m.m, |
|
754 scripts/plot/plot_2_m_v.m: Handle format arg. |
|
755 |
|
756 * scripts/strings/strcmp.m: Move here. |
|
757 * scripts/general/strcmp.m: From here. |
|
758 |
|
759 * src/xdiv.cc (result_ok): Issue warning instead of error if warn |
|
760 is nonzero. |
|
761 |
|
762 Tue Nov 15 15:54:19 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
763 |
|
764 * src/tree-plot.cc (Fcloseplot): Clear title and labels too. |
|
765 |
|
766 * src/help.cc (keywords): Add entries for all_va_args, |
|
767 unwind_protect, unwind_protect_cleanup, and end_unwind_protect. |
|
768 |
|
769 * liboctave/Makefile.in: Use -include for dependency files. |
|
770 * src/Makefile.in: Likewise. |
|
771 |
|
772 Mon Nov 14 10:28:23 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
773 |
|
774 * src/tree-misc.cc (convert_to_const_vector): Resize vector before |
|
775 returning. |
|
776 |
|
777 * src/lex.l (plot_style_token): Also allow "steps", "boxes", and |
|
778 "boxerrorbars". |
|
779 |
|
780 * src/parse.y (UNWIND): Rename from UNWIND_PROTECT. |
|
781 (CLEANUP): Rename from UNWIND_PROTECT_CLEANUP. |
|
782 (command): Allow optsep after UNWIND and CLEANUP tokens. |
|
783 * src/lex.l (is_keyword): Use new token names |
|
784 |
|
785 * src/tree-const.h (tree_constant::all_va_args): New enum. |
|
786 (tree_constant (tree_constant::all_va_args t)): New constructor. |
|
787 (is_all_va_args): New function. |
|
788 (is_empty, is_zero_by_zero, make_numeric_or_magic, |
|
789 make_numeric_or_range_or_magic): Handle all_va_args type. |
|
790 * src/tc-rep.h (constant_type::all_va_args): New enum element. |
|
791 (is_all_va_args): New function. |
|
792 * src/tc-rep.cc (TC_REP::tree_constant_rep (TC_REP::constant_type), |
|
793 TC_REP::print_code): Handle all_va_args. |
|
794 * src/tree-misc.cc (tree_argument_list::convert_to_const_vector): |
|
795 Handle all_va_args. |
|
796 * src/tree-expr.cc (tree_index_expression::eval): After call to |
|
797 tree_argument_list::convert_to_const_vector (), check error_state. |
|
798 (tree_simple_assignment_expression::eval): Likewise. |
|
799 (tree_function::octave_all_va_args): New function. |
|
800 * src/parse.y (ALL_VA_ARGS): New token. |
|
801 (arg_list): Handle ALL_VA_ARGS. |
|
802 * src/lex.l (is_keyword): Handle all_va_args. |
|
803 |
|
804 * src/tree-expr.cc (tree_identifier::bump_value): Check read-only |
|
805 status of sym before altering value. |
|
806 (tree_prefix_expression::eval): Check error_state after call to |
|
807 tree_identifier::bump_value (). |
|
808 |
|
809 * src/variables.cc (bind_nargin_and_nargout): Don't make nargin |
|
810 and nargout read only. |
|
811 |
|
812 * scripts/strings: New subdirectory for string functions. |
|
813 * scripts/Makefile.in (SUBDIRS): Add strings. |
|
814 * scripts/strings/strcat.m: New function. |
|
815 |
|
816 Fri Nov 11 14:17:31 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
817 |
|
818 * src/load-save.cc (extract_keyword): Allow trailing blanks on the |
|
819 input line. |
|
820 |
|
821 Thu Nov 10 09:53:35 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
822 |
|
823 * scripts/general/reshape.m, scripts/image/ind2gray.m, |
|
824 scripts/image/ind2gray.m, scripts/image/ind2rgb.m, |
|
825 scripts/image/rgb2ind.m: unwind_protect do_fortran_indexing. |
|
826 * scripts/general/strcmp.m: unwind_protect implicit_str_to_num_ok. |
|
827 * scripts/miscellaneous/menu.m: unwind_protect page_screen_output. |
|
828 |
|
829 * src/parse.y (UNWIND_PROTECT, UNWIND_PROTECT_CLEANUP): New tokens. |
|
830 (command): Handle unwind-protect. |
|
831 * src/lex.l (is_keyword): Handle unwind_protect, |
|
832 unwind_protect_cleanup, and end_unwind_protect. |
|
833 * src/tree-cmd.cc (tree_unwind_protect_command): New class, to |
|
834 handle unwind-protect. |
|
835 |
|
836 * src/token.h (end_tok_type): New field, end_unwind_protect. |
|
837 |
|
838 * src/error.cc (verror): Flush pending output to pager here. |
|
839 (error): Not here. |
|
840 |
|
841 * src/tc-rep.cc (force_numeric): Don't jump to top level on error. |
|
842 * src/tc-rep.cc, src/tc-rep-ass.cc, src/tc-rep-idx.cc: Check |
|
843 error_state after calls to make_numeric* functions. |
|
844 |
|
845 * src/f-lpsolve.cc: Define Flp_solve and Flp_solve_options, not |
|
846 Flpsolve or Flpsolve_options. |
|
847 |
|
848 * src/utils.cc (Ffile_in_path): Define Ffile_in_path, not |
|
849 Ffile_in_pat. |
|
850 |
|
851 * src/f-inv.cc: Add DEFUN for inverse. |
|
852 |
|
853 Wed Nov 9 09:30:15 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
854 |
|
855 * src/load-save.cc (read_mat_file_header): Check for mopt < 0 too. |
|
856 Don't fail if reading mopt fails. |
|
857 (save_mat_binary_data): Handle range data as a special case. |
|
858 (get_default_save_format): Also accept `mat-binary' and |
|
859 `mat_binary'. |
|
860 (Fsave): Add ios::trunc to flags for opening output file. |
|
861 |
|
862 * src/parse.y (func_def2): Stash function name before stashing |
|
863 file name. |
|
864 |
|
865 * src/utils.cc (fcn_file_in_path): Don't append `.m' if the name |
|
866 already ends in `.m'. |
|
867 (oct_file_in_path): Likewise, for `.oct'. |
|
868 |
|
869 * src/error.cc (usage): Set error state to -1, so we get traceback |
|
870 information after a call to usage. |
|
871 |
|
872 * src/tree-expr.cc (stash_fcn_file_name): Store full name of the |
|
873 file. |
|
874 |
|
875 * scripts/*/*.m: Change messages to say `invalid' instead of |
|
876 `illegal', since no laws are being broken by using these functions |
|
877 incorrectly. |
|
878 |
|
879 * src/timefns.cc (Fcputime): New function. |
|
880 * configure.in: Check for getrusage. |
|
881 |
|
882 * src/scripts/miscellaneous/tic.m: New function. |
|
883 * src/scripts/miscellaneous/toc.m: New function. |
|
884 * src/scripts/miscellaneous/etime.m: New function. |
|
885 * src/scripts/miscellaneous/is_leap_year.m: New function. |
|
886 |
|
887 * src/error.cc (Fwarning, Fusage): New functions. |
|
888 * scripts/*/*.m: Use them instead of printing warning and usage |
|
889 messages directly with disp, printf, or fprintf. |
|
890 |
|
891 * src/file-io.cc (close_files): Check Pix before using. |
|
892 (file_count): Delete unnecessary variable. Instead, use |
|
893 DLList::length to get the number of files in the list. |
|
894 |
|
895 * src/sighandlers.cc (install_signal_handlers): Explicitly ignore |
|
896 SIGPOLL and SIGIO. |
|
897 |
|
898 Tue Nov 8 15:26:50 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
899 |
|
900 * scripts/general/logspace.m: Lose fractional part of third arg. |
|
901 Don't round, for compatibility with Matlab. |
|
902 * scripts/general/linspace.m: Likewise. |
|
903 |
|
904 * liboctave/CMatrix.cc (row_min, row_max, row_min_loc, row_max_loc): |
|
905 Handle case of row containing only real elements. |
|
906 (column_min, column_max, column_min_loc, column_max_loc): |
|
907 Likewise, for columnwise operations. |
|
908 * src/f-minmax.cc (two-complex-arg min, max): Handle case of both |
|
909 columns containing only real elements. |
|
910 |
|
911 * src/variables.cc (Fclear): Pass 0 to symbol_table::list() for |
|
912 pats and npats. |
|
913 |
|
914 Mon Nov 7 20:22:36 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
915 |
|
916 * liboctave/dColVector.cc (operator +=): Don't return reference to |
|
917 temporary. |
|
918 (operator -=): Likewise. |
|
919 * liboctave/CMatrix.cc (operator +=, operator -=): Likewise. |
|
920 |
|
921 Sun Nov 6 23:15:24 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
922 |
|
923 * octMakefile.in (DISTSUBDIRS): Don't use $(SUBDIRS) here. |
|
924 |
|
925 * src/load-save.cc (Fsave): Open output file with mode == |
|
926 ios::out, not ios::in. |
|
927 |
|
928 Sat Nov 5 18:18:11 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
929 |
|
930 * configure.in (HAVE_SYS_SIGLIST): Check for sys_siglist variable, |
|
931 even if it isn't declared in a system header. |
|
932 * acconfig.h (HAVE_SYS_SIGLIST): Add #undef. |
|
933 * src/sighandlers.cc (sys_siglist): Define our own if |
|
934 HAVE_SYS_SIGLIST is not defined, not if SYS_SIGLIST_DECLARED is |
|
935 not defined. |
|
936 |
|
937 * src/tree-plot.cc (Fclearplot): New function. |
|
938 (clg): Alias for clearplot. |
|
939 |
|
940 * src/parse.y (CLEAR): New token. |
|
941 (statement): Handle PLOT CLEAR as a special case. |
|
942 * src/lex.l (is_plot_keyword): Handle CLEAR here too. |
|
943 |
|
944 Fri Nov 4 08:44:57 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
945 |
|
946 * All: Remove remaining #pragma interface/implementation statements. |
|
947 |
|
948 * src/tree-plot.cc (subplot): Move actual code here from .h file. |
|
949 |
|
950 * src/tree-expr.cc (tree_expression): Declare destructor virtual. |
|
951 Delete unnecessary destructors. |
|
952 |
|
953 * src/SLStack.h, src/SLStack.cc (operator =): Return reference to |
|
954 SLStack, not void. |
|
955 |
|
956 * src/f-qzval.cc (Fqzval): Rename from Fqzvalue. Change Help |
|
957 and usage messages too. |
|
958 |
|
959 * scripts/plot/plot_int.m: Really figure out if there are any |
|
960 imaginary parts. |
|
961 |
|
962 * scripts/control/are.m: Fix typo. |
|
963 |
|
964 Thu Nov 3 18:44:11 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
965 |
|
966 * src/load-save.cc (save_ascii_data): Handle new arg, |
|
967 strip_nan_and_inf. Change callers. |
|
968 (strip_infnan): New functions. |
|
969 (save_three_d): Strip inf and nan values here too. |
|
970 |
|
971 * src/tree-plot.h (subplot_using): New data have_values and val. |
|
972 * src/tree-plot.cc (subplot_using::eval, subplot_using::values): |
|
973 New functions. |
|
974 (subplot_style::errorbars): New function. |
|
975 (subplot::extract_plot_data, subplot::handle_plot_data): New functions. |
|
976 (subplot::print): Improve handling of data. |
|
977 |
|
978 Wed Nov 2 08:11:08 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
979 |
|
980 * src/file-io.cc (do_scanf): If reading from stdin, flush stdout |
|
981 first. |
|
982 |
|
983 * configure.in: Leave some comments in the configure file. |
|
984 Improve checking for termios.h, termio.h, and sgtty.h. |
|
985 |
|
986 * src/variables.cc (install_builtin_variables): DEFVAR realmax and |
|
987 realmin here. |
|
988 * src/sysdep.cc: Instead of DEFUNing them here. |
|
989 |
|
990 * src/variables.cc (do_who): Accept globbing patterns as args. |
|
991 (maybe_list): Handle them here. |
|
992 |
|
993 * src/symtab.cc (matches_patterns): New function. |
|
994 (symbol_table::list, symbol_table::long_list): Accept list of |
|
995 patterns, and use matches_patterns to see if the given string is a |
|
996 match. Change all callers. |
|
997 |
|
998 * src/load-save.cc (read_binary_data): Don't fail if reading |
|
999 name_len fails. |
|
1000 (do_load): Quit quietly if nothing is left to read. Clean up doc |
|
1001 and name in all cases. |
|
1002 |
|
1003 Tue Nov 1 16:34:20 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1004 |
|
1005 * src/lex.l (")"): Set cant_be_identifier to 1 here too. |
|
1006 |
|
1007 * src/tree-plot.cc: Use abbreviations for gnpulot plot, splot, |
|
1008 replot, with, using, and title commands. |
|
1009 |
|
1010 Mon Oct 31 14:26:12 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1011 |
|
1012 * src/variables.cc (Fclear): Look in global symbol table for |
|
1013 user-defined function names. |
|
1014 |
|
1015 * src/load-save.cc (do_load): New function. |
|
1016 (Fload): Use it to avoid assigning streams. |
|
1017 (write_binary_header): New function. |
|
1018 (save_vars): New function. |
|
1019 (Fsave): Use it to avoid assigning streams. |
|
1020 |
|
1021 * libcruft/linpack/zgesl.f (zgesl): Comment out unused varialbes |
|
1022 and statement functions. |
|
1023 |
|
1024 * src/sysdep.cc (Fisieee): New function. |
|
1025 (Frealmax, Frealmin): Ditto. |
|
1026 |
|
1027 * scripts/miscellaneous/version.m: New file. |
|
1028 |
|
1029 Fri Oct 28 14:52:08 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1030 |
|
1031 * octMakefile.in (distclean): Also delete config.cache and |
|
1032 config.log. |
|
1033 |
|
1034 * Makeconf.in (CPPFLAGS): Allow substitution. |
|
1035 |
|
1036 * configure.in: Use AC_PREFIX_DEFAULT. |
|
1037 |
|
1038 * configure.in: Use AC_CANONICAL_HOST instead of doing this |
|
1039 ourselves. |
|
1040 |
|
1041 * install-sh: Rename from install.sh. |
|
1042 * octMakefile.in (DISTFILES): Distribute install-sh, not install.sh. |
|
1043 |
|
1044 Mon Oct 24 10:04:27 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1045 |
|
1046 * octave-bug.in: Print message if bug report appears to have been |
|
1047 mailed successfully. Otherwise, exit with error status. |
|
1048 |
|
1049 Fri Oct 21 14:05:10 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1050 |
|
1051 * src/tc-rep-ass.cc (TC_REP::do_vector_assign (rhs, idx-vector)): |
|
1052 Handle all four cases of row/colum mixing. Report an error if the |
|
1053 RHS is a matrix. |
|
1054 |
|
1055 * src/tc-rep-idx.cc (TC_REP::do_index): Don't barf on indexing an |
|
1056 empty matrix with colon(s). |
|
1057 (TC_REP::do_scalar_index): Create index vector with z_len = 1. |
|
1058 (TC_REP::do_matrix_index (Range, tree_constant)): Correctly handle |
|
1059 case of colon as second arg. |
|
1060 |
|
1061 * octave-bug.in: Put mail commands in subshells so error message |
|
1062 really do go away. |
|
1063 |
|
1064 Thu Oct 20 11:05:36 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1065 |
|
1066 * octave-bug.in: If passing $SUBJECT on the command line to a |
|
1067 mailer, quote it. Don't assume /bin/mail takes any args other |
|
1068 than a recipient address. Do the right thing if the To: line |
|
1069 changes. |
|
1070 |
|
1071 * src/tc-rep.cc (TC_REP::rows, TC_REP::columns): Return -1 for |
|
1072 anything that doesn't really have rows or columns. |
|
1073 |
|
1074 * src/tc-rep-idx.cc (fortran_style_matrix_index): Check max and |
|
1075 min index values. |
|
1076 |
|
1077 * Makefile.in (FORCE): New phony target. Used instead of .PHONY |
|
1078 to be portable. |
|
1079 |
|
1080 * octave-bug.in: Try harder to mail the message. |
|
1081 |
|
1082 * src/dynamic-ld.cc: Undefine true, false, and boolean after |
|
1083 including kpathse/pathsearch.h. |
|
1084 |
|
1085 * src/sysdep.cc: Include <float.h>. |
|
1086 |
|
1087 Wed Oct 19 10:28:49 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1088 |
|
1089 * configure.in (CXXLIB_LIST, FLIB_LIST, CXXLIB_PATH, FLIB_PATH): |
|
1090 Be careful not to match -l or -L in the middle of a word. |
|
1091 |
|
1092 * src/f-minmax.cc: Correctly handle mixed scalar/matrix args. |
|
1093 |
|
1094 * octMakefile.in: Rename from Makefile.in. |
|
1095 * Makefile.in: New file. For `all' target, print message and |
|
1096 execute make again using octMakefile. For other targets, just |
|
1097 execute make again using octMakefile. |
|
1098 |
|
1099 * configure.in: Check for sys_siglist. |
|
1100 * src/sighandlers.h [! HAVE_SYS_SIGLIST]: Provide an external |
|
1101 declaration. |
|
1102 * src/sighandlers.cc (generic_sig_handler): New function, replaces |
|
1103 most individual signal handler functions. |
|
1104 (sigint_handler, sigpipe_handler): Restore signal handler before |
|
1105 doing anything else. |
|
1106 [! HAVE_SYS_SIGLIST] (sys_siglist): Provide our own definition. |
|
1107 |
|
1108 * config.guess: Update from FSF sources. |
|
1109 |
|
1110 Tue Oct 18 23:36:24 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1111 |
|
1112 * flibs.sh: Don't pass -Y P,path. Instead, turn it into a series |
|
1113 of -L dir args. |
|
1114 |
|
1115 * configure.in: Update for autoconf 2.0. |
|
1116 Delete support for --enable-run-in-place (it is too hard to make |
|
1117 this work reliably...). |
|
1118 |
|
1119 Mon Oct 17 11:40:49 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1120 |
|
1121 * src/user-prefs.cc (init_user_prefs): Declare to return void, |
|
1122 not int. |
|
1123 |
|
1124 * configure.in: Change quote characters around tr command. Some |
|
1125 systems actually do need the []'s for ranges... |
|
1126 |
|
1127 Sun Oct 16 12:22:14 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1128 |
|
1129 * src/tempname.c, src/tmpnam.c: New files. |
|
1130 * src/Makefile.in (SOURCES): Add them. |
|
1131 * src/dirfns.cc: Delete functions extracted from glibc. |
|
1132 |
|
1133 * configure.in (localfcnfiledir, localoctfiledir, imagedir): |
|
1134 New variables. Use them to define localfcnfilepath, |
|
1135 localoctfilepath, and imagepath. |
|
1136 * Makeconf.in: Substitute them here. |
|
1137 |
|
1138 * src/utils.cc (get_fcn_file_names) [WITH_DLD]: Also match .oct |
|
1139 files. |
|
1140 |
|
1141 * dld/find_exec.c (dld_find_executable): Don't be fooled by |
|
1142 directories or other special files in PATH. |
|
1143 (ABSOLUTE_FILENAME_P): Also return true if the name includes a |
|
1144 `/'. This isn't necessarily an absolute path, but we will turn it |
|
1145 into one later. |
|
1146 * src/dynamic-ld.cc (octave_dld_init): Call make_absolute() on |
|
1147 value returned from dld_find_executable(). |
|
1148 |
|
1149 Sat Oct 15 08:35:13 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1150 |
|
1151 * flibs.sh: Undo previous change. Only substitute spaces for |
|
1152 commas if it looks like we have output from xlf. Handle -Y and |
|
1153 LD_RUN_PATH using gcc's -Xlinker option. |
|
1154 |
|
1155 * Makefile.in (snapshot-version): Use move-if-change for version.h. |
|
1156 |
|
1157 Fri Oct 14 09:18:08 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1158 |
|
1159 * scripts/image/Makefile.in (SOURCES): Don't forget octtopnm.c. |
|
1160 |
|
1161 * Makefile.in (BINDISTFILES): Distribute octave-bug too. |
|
1162 |
|
1163 * configure.in (imagepath): Install at same level as fcnfiledir, |
|
1164 not below it. |
|
1165 |
|
1166 * doinstall.sh: Correctly extract version numbers that are not all |
|
1167 digits. Also install images too. Also install octaverc. Ask |
|
1168 octave for the target host type. Also create site/m and |
|
1169 site/oct directories. Also install octave-bug. |
|
1170 |
|
1171 * scripts/image/Makefile.in (DISTFILES): Distribute demo image |
|
1172 files too. |
|
1173 |
|
1174 * doinstall.sh: Update for new directory organization. |
|
1175 |
|
1176 * src/variables.cc (subst_octave_home): Make it work for multiple |
|
1177 substitutions. |
|
1178 |
|
1179 * flibs.sh: Handle -Y P,path:of:lib:dirs output from f77 on Solaris. |
|
1180 |
|
1181 * src/strfns.cc (Ftoascii): New file, new function. |
|
1182 (Fisstr, Fsetstr): Move here, fromd ata.cc. |
|
1183 |
|
1184 * src/Makefile.in (SOURCES): Include it. |
|
1185 |
|
1186 Thu Oct 13 11:58:03 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1187 |
|
1188 * scripts/signal/filter.m: Postpad `b' before reshaping. |
|
1189 |
|
1190 * mkinstalldirs: New file. |
|
1191 * Makefile.in: Distribute it, don't make mkpath. |
|
1192 * All Makefile.in files: Use it instead of mkpath. |
|
1193 |
|
1194 * src/utils.cc (Foctave_tmp_file): New function. |
|
1195 |
|
1196 * src/utils.cc (undo_string_escape): Move here from tc-rep.cc, |
|
1197 rename from undo_string_escapes, and make extern. |
|
1198 (undo_string_escapes): New function, for undoing a whole string. |
|
1199 (Fundo_string_escapes): New function. |
|
1200 |
|
1201 * scripts/miscellaneous/dump_prefs.m, |
|
1202 scripts/miscellaneous/dump_1_pref.m: New functions. |
|
1203 * scripts/miscellaneous/bug_report.m: Record user preferences in a |
|
1204 file and pass the name of the file to octave-bug. Use |
|
1205 octave_tmp_file to generate tmp file name. |
|
1206 * octave-bug.in: Accept a final file-name arg as a file that |
|
1207 contains a list of user-preferences. |
|
1208 |
|
1209 Wed Oct 12 09:09:37 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1210 |
|
1211 * configure.in: Redefine archlibdir and octfiledir so that oct |
|
1212 and exec directories are at the same level as the m directory. |
|
1213 Redefine localoctfilepath so that site/oct is a the same level as |
|
1214 site/m. |
|
1215 |
|
1216 * Makeconf.in (F77): Substitute it. |
|
1217 (BUG_CFLAGS, BUG_CXXFLAGS): New vars. |
|
1218 * configure.in: |
|
1219 * scripts/bug_report.m: New file. |
|
1220 * octave-bug.in: New file. |
|
1221 * Makefile.in (DISTFILES): Distribute octave-bug.in. |
|
1222 (dirs_to_make): Add $bindir. |
|
1223 (all): Add octave-bug. |
|
1224 (octave-bug): New target. |
|
1225 (install): Install it. |
|
1226 * src/defaults.h.in: Add defines for bindir. |
|
1227 * src/Makefile.in (defaults.h): Substitute it. |
|
1228 * src/variables.cc (octave_bin_dir): New function. |
|
1229 * src/octave.cc (initialize_globals): Also add $bindir to path. |
|
1230 |
|
1231 * configure.in: Check for gettimeofday. Add AC_TIME_WITH_SYS_TIME. |
|
1232 * src/systime.h: New file. |
|
1233 * src/timefns.h: Use gettimeofday if available. |
|
1234 * src/Makefile.in (INCLUDES): Add systime.h. |
|
1235 |
|
1236 Mon Oct 10 14:34:56 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1237 |
|
1238 * src/octave.cc (verbose_flag): New global variable. |
|
1239 (long_opts): Add "verbose". |
|
1240 (usage_string): Update. |
|
1241 (main): Set verbose_flag if given --verbose. |
|
1242 (execute_startup_files): Don't print messages about reading |
|
1243 startup files if verbose_flag is not set. |
|
1244 |
|
1245 * src/tree-expr.cc (apply_mapper_fcn): Handle scalars as a special |
|
1246 case, but then just try to convert other arg types to a matrix. |
|
1247 |
|
1248 * src/f-det.cc (Fdet): Check if arg is complex type, but not |
|
1249 necessarily a complex matrix. |
|
1250 * src/f-schur.cc (Fschur): Likewise, and also for real types. |
|
1251 * src/f-lu.cc (Flu): Likewise. |
|
1252 * src/f-minmax.cc (Fmin, Fmax): Likewise. |
|
1253 |
|
1254 Sun Oct 9 21:04:17 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1255 |
|
1256 * src/tc-rep-ass.cc (TC_REP::assign): If LHS is undefined, don't |
|
1257 try to force it to be a numeric type. |
|
1258 |
|
1259 Fri Oct 7 09:05:10 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1260 |
|
1261 * configure.in: Define LD_STATIC_FLAG for Alpha OSF/1 1.3 systems. |
|
1262 |
|
1263 * src/tc-rep-idx.cc (TC_REP::do_index): Only work for numeric |
|
1264 types, but don't panic if conversion doesn't work. |
|
1265 * src/tc-rep-ass.cc (TC_REP::assign): Likewise. |
|
1266 |
|
1267 * src/tc-rep.cc (TC_REP::gripe_wrong_type_arg): New function. |
|
1268 |
|
1269 * src/gripes.cc (gripe_wrong_type_arg): Define here. |
|
1270 * src/tree-const.cc: Not here. |
|
1271 |
|
1272 Wed Oct 5 16:24:38 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1273 |
|
1274 * src/file-io.cc (do_scanf): Don't panic if string is NULL. |
|
1275 |
|
1276 * src/gripes.cc (gripe_unrecognized_float_fmt): New function. |
|
1277 (gripe_2_or_3_dim_plot): Ditto. |
|
1278 (gripe_unrecognized_data_fmt): Ditto. |
|
1279 (gripe_data_conversion): Ditto. Use it in load-save.cc data |
|
1280 conversion routines that aren't implemented yet. |
|
1281 |
|
1282 * src/load-save.cc (do_double_format_conversion): Don't panic on |
|
1283 unrecognized floating point formats. |
|
1284 (do_float_format_conversion): Likewise. |
|
1285 (write_doubles): Don't panic if data format is unrecognized. |
|
1286 (do_save): Likewise |
|
1287 (install_loaded_variable): Don't panic for unknown symbol types. |
|
1288 (read_binary_data): Also check error_state after calls to read_doubles. |
|
1289 |
|
1290 * src/symtab.cc (symbol_table::rename): Don't panic if symbol |
|
1291 can't be renamed. |
|
1292 * src/parse.y (return_list): Abort parse if renaming results in an |
|
1293 error. |
|
1294 |
|
1295 * src/tree-misc.cc (tree_if_command::eval): Don't panic if all |
|
1296 (all (cond)) is not a scalar. |
|
1297 |
|
1298 * src/tree-expr.cc (tree_unary_expression::print_code): Don't |
|
1299 panic if expression type is unknown. |
|
1300 |
|
1301 * src/tree-plot.cc (tree_plot_command::eval): Don't panic if plot |
|
1302 is not 2 or 3 dimensional. |
|
1303 (tree_plot_command::print_code, subplot::print, save_in_tmp_file): |
|
1304 Likewise. |
|
1305 |
|
1306 * src/variables.cc (alias_builtin): Panic with better message. |
|
1307 (subst_octave_home): Don't panic if OCTAVE_HOME doesn't contain |
|
1308 OCTAVE_PREFIX. |
|
1309 |
|
1310 * src/tc-inlines.h (REP_RHS_MATRIX): Use panic_impossible() |
|
1311 instead of abort(). |
|
1312 (REP_ELEM_ASSIGN, CRMATRIX): Likewise. |
|
1313 |
|
1314 * src/data.cc (Fdiag, make_diag): Do work here. |
|
1315 * src/tc-rep.cc (TC_REP::diag, make_diag): Not here. |
|
1316 * src/tc-rep.h (TC_REP::diag): Delete. |
|
1317 * src/tree-const.h (tree_constant::diag): Delete. |
|
1318 |
|
1319 Tue Oct 4 08:35:37 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1320 |
|
1321 * src/f-fft.cc (Ffft): Correctly set n_points for row vectors if |
|
1322 nargin == 1. |
|
1323 * src/f-ifft.cc (Fifft): Likewise. |
|
1324 |
|
1325 * src/load-save.cc (Fsave): Declare file and stream static. |
|
1326 |
|
1327 Mon Oct 3 10:40:50 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1328 |
|
1329 * src/tree-expr.cc (octave_va_arg): Correct arg count and index to |
|
1330 match recent change to arg passing/nargin. |
|
1331 (define_param_list): Always set num_named_args = param_list->length (). |
|
1332 |
|
1333 * readline/Makefile.in (install): Don't install libreadline.a by |
|
1334 default. |
|
1335 (uninstall): Now no need to delete it. |
|
1336 |
|
1337 * configure.in (localfcnfilepath, localoctfilepath): Change to |
|
1338 match organization of system fcn and oct files, and enable |
|
1339 recursive searching in both. Enable recursive searching in |
|
1340 $(octfiledir). |
|
1341 (includedir): Change to $(prefix)/include/octave. |
|
1342 |
|
1343 Sun Oct 2 10:14:18 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1344 |
|
1345 * configure.in: For now, disable IEEE floating point functions on |
|
1346 the Alpha. This is braindead, but at least prevents divide by |
|
1347 zero crashes... |
|
1348 |
|
1349 * src/file-io.cc (fseek_internal): Use values for origin that |
|
1350 match what we use to define SEEK_SET, SEEK_CUR, and SEEK_END in |
|
1351 variables.cc. |
|
1352 |
|
1353 * dld: Merge various changes for Linux from dld 3.2.4 that is |
|
1354 being distributed with jacal. |
|
1355 |
|
1356 * src/file-io.cc (fwrite_internal): Correct indexing of args. |
|
1357 |
|
1358 * src/tree-expr.cc (apply_mapper_fcn): New function. |
|
1359 (tree_builtin::eval): Use it instead of tree_constant::mapper(). |
|
1360 * src/tree-const.h (tree_constant::mapper): Delete. |
|
1361 * src/tc-rep.cc, src/tc-rep.h (TC_REP::mapper): Delete. |
|
1362 |
|
1363 * src/data.cc (Fcumprod, Fcumsum, Fprod, Fsum, Fsumsq): Do work here. |
|
1364 * src/tc-rep.cc (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod, |
|
1365 TC_REP::sum, TC_REP::sumsq): Not here. Delete. |
|
1366 * src/tc-rep.h (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod, |
|
1367 TC_REP::sum, TC_REP::sumsq): Delete |
|
1368 * src/tree-const.h (tree_constant::cumprod, tree_constant::cumsum, |
|
1369 tree_constant::prod, tree_constant::sum, tree_constant::sumsq): |
|
1370 Delete. |
|
1371 |
|
1372 * tree-const.h: Don't check gcc minor version number. |
|
1373 * tc-rep.h: Likewise. |
|
1374 |
|
1375 * src/file-io.h (class file_info): Declare here. |
|
1376 * src/file-io.cc: Not here. |
|
1377 |
|
1378 * configure.in (LIBOCTDLD, LIBDLD): Remove ../ prefix. |
|
1379 * Makefile.in (distclean, realclean): Don't remove *.a. |
|
1380 * src/Makefile.in (OCTAVE_LIBS): Correct directory spec for libs. |
|
1381 Build, install, and clean liboctdld.a, not ../liboctdld.a. |
|
1382 * dld/Makefile.in: Build, install, and clean libdld.a, not ../libdld.a. |
|
1383 * info/Makefile.in: Likewise, for libinfo.a. |
|
1384 * kpathsea/Makefile.in: Likewise, for libkpathsea.a. |
|
1385 * libcruft/Makefile.in: Likewise, for libcruft.a. |
|
1386 * liboctave/Makefile.in: Likewise, for liboctave.a. |
|
1387 * readline/Makefile.in: Likewise, for libreadline.a. |
|
1388 |
|
1389 * configure.in (gxx_version): Require 2.6.x or later. Don't |
|
1390 define EXTERNAL_TEMPLATES. Do define NO_IMPLICIT_TEMPLATES. |
|
1391 * liboctave/Array-C.cc, liboctave/Array-d.cc, src/Array-tc.cc, |
|
1392 src/DLList-fi.cc src/SLStack-tok.cc, src/SLStack-ue.cc, |
|
1393 src/SLStack-tm.cc, src/SLStack-pc.cc, src/SLStack-i.cc, |
|
1394 src/SLList-tc.cc, src/SLStack-sym.cc, src/SLStack-ui.cc, |
|
1395 src/SLList-misc.cc, src/SLList-expr.cc, src/SLList-plot.cc, |
|
1396 src/Map-tc.cc: New files. Instantiate templates here. |
|
1397 * libocave/Array.cc, src/Map.cc, src/Stack.cc, src/SLStack.cc: |
|
1398 Not here. Remove #pragma implementation hack. |
|
1399 * liboctave/Array.h, src/Stack.h, src/Map.h, src/SLStack.h: Remove |
|
1400 #pragma interface hack. |
|
1401 * Makeconf.in: Substitute NO_IMPLICIT_TEMPLATES, not |
|
1402 EXTERNAL_TEMPLATES. |
|
1403 (ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS): Use $(NO_IMPLICIT_TEMPLATES), |
|
1404 not $(EXTERNAL_TEMPLATES). |
|
1405 * acconfig.h: Remove USE_EXTERNAL_TEMPLATES #undef. |
|
1406 * src/Makefile.in (XALL_CXX_FLAGS): Delete -fno-implicit-templates. |
|
1407 (TI_SRC, TI_OBJ): New variables. |
|
1408 (libtinst.a): New target. |
|
1409 * liboctave/Makefile.in (TI_SRC): New variable. |
|
1410 (SOURCES): Add it to list. |
|
1411 |
|
1412 Fri Sep 30 09:52:15 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1413 |
|
1414 * src/Makefile.in: Automatically generate more lists. |
|
1415 Use := in more places. |
|
1416 * src/Array-C.cc src/Array-d.cc src/Array-tc.cc src/Map-tc.cc |
|
1417 src/Stack-i.cc src/SLStack-pc.cc src/SLStack-sym.cc |
|
1418 src/SLStack-tok.cc src/SLStack-tm.cc src/SLStack-ue.cc: |
|
1419 New template instantiation files. |
|
1420 * configure.in: If using gcc 2.6.x or later, use |
|
1421 -fno-implicit-templates instead of -fexternal-templates. |
|
1422 |
|
1423 * src/tc-inlines.h: Rename from tc-inlines.cc. |
|
1424 |
|
1425 * src/parse.y (looking_at_indirect_ref): New global flag, for |
|
1426 parser feedback. |
|
1427 (tree_indirect_ref_type): New token type. |
|
1428 (TEXT_ID): New token. |
|
1429 (indirect_ref): New non-terminal. |
|
1430 (make_index_expression): New function. |
|
1431 (variable): Use it to build variable from indirect_ref, not just |
|
1432 identifier. |
|
1433 |
|
1434 * src/lex.l (handle_identifier): Handle identifiers differently if |
|
1435 looking at an indirect reference. Add `.' to list of other ops. |
|
1436 |
|
1437 * src/tree-expr.cc (tree_identifier::do_lookup): Handle new |
|
1438 exec_script arg. |
|
1439 (tree_identifier::assign): New functions for assignment to a |
|
1440 strucutre element. |
|
1441 (print_constant): New function. |
|
1442 (tree_identifier::eval, tree_indirect_ref::eval): Use it. |
|
1443 ( |
|
1444 |
|
1445 * src/tree-expr.h (tree_indirect_ref): New class for handling |
|
1446 structure references. |
|
1447 (tree_expression::is_indirect_ref): New virtual function. |
|
1448 (tree_fvc::lookup_map_element): New virtual function. |
|
1449 (tree_index_expression, tree_simple_assignment_expression): |
|
1450 Add new constructors for handling indirect references. |
|
1451 |
|
1452 * src/oct-map.h: New file, for class managing Octave's |
|
1453 structure/map type. |
|
1454 |
|
1455 * src/tree-misc.cc (tree_global::eval): Don't allow individual |
|
1456 structure elements to be tagged global. |
|
1457 |
|
1458 * src/tc-rep.h (tree_constant_rep): Add new field, a_map, and a |
|
1459 new type_tag, map_constant. |
|
1460 * src/tree-const.cc (tree_constant::is_map): New function. |
|
1461 * src/tree-const.cc (tree_constant::map_value, |
|
1462 tree_constant::assign_map_element, tree_constant::make_unique, |
|
1463 tree_constant::lookup_map_element, |
|
1464 tree_constant::make_unique_map_element): New functions. |
|
1465 |
|
1466 * src/Map.h (CHNode::CHNode): Copy key. |
|
1467 (CHNode::~CHNode): Delete it. |
|
1468 (CHMap::contents): Don't declare return value const. |
|
1469 |
|
1470 * src/tc-inlines.cc: Move some macros here from tc-rep.cc so they |
|
1471 can appear in one place and be shared by tc-rep-idx.cc, |
|
1472 tc-rep-ass.cc, and tc-pre.cc. |
|
1473 |
|
1474 * src/tc-rep-idx.cc, src/tc-rep-ass.cc: New files, extracted from |
|
1475 tc-rep.cc to make compilation of tc-rep stuff faster and require |
|
1476 less memory. |
|
1477 |
|
1478 * src/variables.cc (Fwhos): Correctly insert "-long" into arg list |
|
1479 for Fwho. |
|
1480 |
|
1481 Mon Sep 26 12:59:55 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1482 |
|
1483 * test/Makefile.in (OCTAVE_SCRIPT_PATH): Append `//' for recursive |
|
1484 searching. |
|
1485 |
|
1486 Fri Sep 23 07:53:13 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1487 |
|
1488 * scripts/plot/bar.m: Don't return values if nargout == 0. |
|
1489 * scripts/plot/hist.m: Likewise. |
|
1490 * scripts/plot/stairs.m: Likewise. |
|
1491 |
|
1492 * src/tree-plot.cc (Fishold): New function. |
|
1493 (plot_line_count, parametric_plot, clear_before_plotting): |
|
1494 Declare static. |
|
1495 |
|
1496 * src/f-fft.cc (Ffft): Handle row vector as a special case. |
|
1497 * src/f-ifft.cc (Fifft): Ditto. |
|
1498 |
|
1499 Thu Sep 22 13:20:53 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1500 |
|
1501 * src/help.cc (print_symbol_type): New function, extracted from Fwhich. |
|
1502 (Fwhich): Use it. |
|
1503 (Fhelp): Use it to print type info before help message. |
|
1504 |
|
1505 * src/dynamic-ld.cc: Hide all DLD-specific functions behind |
|
1506 #ifdef WITH_DLD. |
|
1507 |
|
1508 * scripts/startup: New directory. |
|
1509 * scripts/startup/Makefile.in: New file. |
|
1510 * scripts/startup/octaverc: New file. Don't overwrite existing |
|
1511 file when nstalling. |
|
1512 * configure.in: Generate Makefile in scripts/startup. |
|
1513 * scripts/Makefile.in (SUBDIRS): Add startup. |
|
1514 * src/defaults.h.in (OCTAVE_STARTUPFILEDIR): New macro. |
|
1515 * src/variables.cc (get_site_defaults): Look for octaverc in |
|
1516 OCTAVE_STARTUPFILEDIR. |
|
1517 |
|
1518 * configure.in (fcnfiledir): Make it end in `//'. |
|
1519 |
|
1520 * src/error.cc (Ferror): Correct indexing error. |
|
1521 |
|
1522 * src/Map.h, src/Map.cc: New files implementing associative arrays. |
|
1523 * src/Makefile.in: Include them in the list of files to distribute |
|
1524 and compile. |
|
1525 |
|
1526 Wed Sep 21 09:50:19 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1527 |
|
1528 * Makefile.in (DISTSUBDIRS): Add dld to the list. |
|
1529 |
|
1530 * scripts/plot/hist.m: New function file. |
|
1531 |
|
1532 * src/tc-rep.cc (TC_REP::do_matrix_index (tree_constant, |
|
1533 tree_constant): For case of scalar as first arg, move call to |
|
1534 index check to the TC_REP::do_matrix_index (int, tree_constant) |
|
1535 function. |
|
1536 (TC_REP::do_matrix_index (int, tree_constant): Be compatible with |
|
1537 Matlab for indexing of the form row_vector (0, :). |
|
1538 (TC_REP::do_matrix_index (tree_constant, int): Likewise, for |
|
1539 indexing of the form col_vector (:, 0). |
|
1540 (TC_REP::do_matrix_assignment): Similar changes for assignment. |
|
1541 |
|
1542 Tue Sep 20 17:48:39 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1543 |
|
1544 * src/parse.y (return_list, return_list1): New nonterminals. |
|
1545 Rename from func_def1a. Handle variable number of return values. |
|
1546 * src/tree-expr.h (tree_function::vr_list): New field. |
|
1547 * src/tree-expr.cc (delete_vr_list): New function. |
|
1548 (tree_function::octave_vr_val, tree_function::takes_var_return): |
|
1549 New functions, for variable return lists. |
|
1550 (tree_function::define_ret_list, tree_function::eval): Handle vr_list. |
|
1551 (Fvr_val): New function. |
|
1552 * src/tree-misc.h (tree_va_return_list): New list class. |
|
1553 * src/tree-misc.cc (tree_parameter_list::convert_to_const_vector): |
|
1554 Take pointer to tree_va_return_list as arg, and append the values |
|
1555 found there. |
|
1556 |
|
1557 * src/arith-ops.cc (mx_stupid_bool_op): Correctly handle empty |
|
1558 matrices for == and != ops. |
|
1559 |
|
1560 * src/variables.cc (Fis_global): Check args(0), not args(1). |
|
1561 (Fexist): Likewise. |
|
1562 (install_builtin_mapper): Set nargin_max to 1, not 2. |
|
1563 |
|
1564 * src/dynamic-ld.cc (octave_dld_init): Make raw program name |
|
1565 absolute before calling dld_find_executable. |
|
1566 |
|
1567 * src/octave.cc (initialize_error_handlers): New function. |
|
1568 (main): Call init_user_prefs and initialize_error_handlers. |
|
1569 Rearrange order of calls to initialization functions. |
|
1570 |
|
1571 * src/user-prefs.cc (init_user_prefs): New function. |
|
1572 |
|
1573 * src/data.cc (map): Correct condition for assert (). Correct |
|
1574 handling of empty args. |
|
1575 |
|
1576 * src/f-lsode.cc src/f-dassl.cc src/f-quad.cc src/f-npsol.cc |
|
1577 src/f-fsolve.cc: Pass correct number of args to |
|
1578 takes_correct_nargs (). |
|
1579 * src/variables.cc (takes_correct_nargs): Use %s, not %c in format |
|
1580 string. |
|
1581 |
|
1582 * src/f-ifft2.cc src/f-expm.cc src/f-det.cc src/f-svd.cc |
|
1583 src/f-syl.cc src/f-schur.cc src/f-qzval.cc src/f-qr.cc |
|
1584 src/f-pinv.cc src/f-lu.cc src/f-log.cc src/f-inv.cc src/f-hess.cc |
|
1585 src/f-eig.cc src/f-chol.cc src/f-balance.cc src/f-lsode.cc |
|
1586 src/f-dassl.cc src/f-quad.cc src/f-npsol.cc src/f-fsolve.cc: |
|
1587 Correctly handle return value from empty_arg (). |
|
1588 * src/utils.cc (empty_arg): Clarify usage, correct return value if |
|
1589 arg is empty but no message is printed. |
|
1590 |
|
1591 * src/Makefile.in (dist): Delete builtins.cc too. |
|
1592 |
|
1593 * configure.in (DYNAMIC_LD_OBJ): Delete. |
|
1594 * src/Makefile.in (OBJECTS): Don't substitute DYNAMIC_LD_OBJ. |
|
1595 Always include dynamic-ld.o. |
|
1596 |
|
1597 * configure.in: Generate Makefile in scripts/elfun and |
|
1598 scripts/specfun. |
|
1599 |
|
1600 * Makeconf.in (version): Use `:=' and `$(shell )', not just `=' |
|
1601 and backticks, so we only extract the version number once. |
|
1602 |
|
1603 Mon Sep 19 09:04:30 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1604 |
|
1605 * src/tc-rep.h (represent_strings_with_doubles): New field in |
|
1606 tree_constant_rep class. |
|
1607 |
|
1608 * tree-misc.cc (tree_argument_list::convert_to_const_vector): |
|
1609 Don't allocate extra arg for function name. |
|
1610 * sysdep.cc, pr-output.cc, input.cc, file-io.cc, error.cc, |
|
1611 tc-rep.cc, tree-expr.cc, f-svd.cc, f-sort.cc, f-schur.cc, |
|
1612 f-rand.cc, f-qzval.cc, f-quad.cc, f-qr.cc, f-qpsol.cc, f-pinv.cc, |
|
1613 f-npsol.cc, f-minmax.cc, f-lu.cc, f-lsode.cc, f-log.cc, f-inv.cc, |
|
1614 f-ifft2.cc, f-ifft.cc, f-hess.cc, f-givens.cc, f-fsolve.cc, |
|
1615 f-fft2.cc, f-fft.cc, f-expm.cc, f-eig.cc, f-det.cc, f-dassl.cc, |
|
1616 f-colloc.cc, f-chol.cc, f-balance.cc, f-syl.cc, variables.cc, |
|
1617 tree-misc.cc, data.cc, octave.cc, utils.cc, defun-int.h: |
|
1618 Change meaning and usage of nargin and args.length() to cope with |
|
1619 above change. This makes nargin mean the same thing in built-in |
|
1620 functions as it does in M-files. |
|
1621 |
|
1622 Sat Sep 17 09:29:08 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1623 |
|
1624 * scripts/general/nargchk.m: New function. |
|
1625 |
|
1626 Fri Sep 16 08:48:13 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1627 |
|
1628 * Makeconf.in (FLIB_LIST, FLIB_PATH, CXXLIBS, CXXLIB_LIST, |
|
1629 CXXLIB_PATH): Set these. |
|
1630 |
|
1631 * cxxlibs.sh: New file. |
|
1632 * configure.in: Use it to determine extra C++ libraries to link |
|
1633 to. Use sed magic to extract list of libraries and directories |
|
1634 from FLIBS and CXXLIBS. |
|
1635 * Makefile.in: (DISTFILES): Include cxxlibs.sh. |
|
1636 |
|
1637 * configure.in: Change AC_VERBOSE messages to match |
|
1638 autoconf-generated messages. |
|
1639 |
|
1640 * src/dynamic-ld.cc (dld_octave_resolve_reference): Search library |
|
1641 path for list of files to link. |
|
1642 |
|
1643 * src/utils.cc (pathstring_to_vector): Un-#if 0 it. |
|
1644 |
|
1645 * Makefile.in: Install liboctdld.a if not linking to it. |
|
1646 (defaults.h): Substitute FLIB_LIST, FLIB_PATH, CXXLIB_LIST, |
|
1647 CXXLIB_PATH. |
|
1648 |
|
1649 Thu Sep 15 09:31:29 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1650 |
|
1651 * Makeconf.in (LD_STATIC_FLAG): Actually substitute LD_STATIC_FLAG. |
|
1652 (ALL_LDFLAGS): Include it here. |
|
1653 |
|
1654 * configure.in: Check for signgam declaration in math.h |
|
1655 * acconfig.h: Add #undef for SIGNGAM_DECLARED. |
|
1656 * src/mappers.h: Provide our own declaration of signgam if |
|
1657 HAVE_LGAMMA but not SIGNGAM_DECLARED. |
|
1658 |
|
1659 Wed Sep 14 11:28:09 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1660 |
|
1661 * src/dynamic-ld.cc (mangled_octave_builtin_name, |
|
1662 mangle_octave_oct_file_name, load_octave_builtin, |
|
1663 load_octave_oct_file, init_dynamic_linker): New functions. |
|
1664 [WITH_DLD] (octave_dld_init, dld_octave_resolve_reference, |
|
1665 dld_octave_builtin, dld_octave_oct_file): New functions to handle |
|
1666 details of dynamic linking using dld. |
|
1667 |
|
1668 * src/variables.cc (load_fcn_from_file) [WITH_DLD]: Handle looking |
|
1669 for .oct file to link at run time. |
|
1670 |
|
1671 * src/tree-expr.cc (tree_builtin::tree_builtin): Always init my_name. |
|
1672 (tree_builtin::eval): If no definition, try to load one using |
|
1673 load_octave_builtin(). |
|
1674 |
|
1675 * src/octave.cc (main): Initialize dynamic linking here. |
|
1676 |
|
1677 * src/defun-int.h (DEFINE_FUN_STRUCT, DEFINE_FUN_STRUCT_FUN): |
|
1678 New macros. |
|
1679 * src/defun-dld.h (DEFUN_DLD_BUILTIN): Rename from DEFUN_DLD and |
|
1680 handle case of WITH_DLD && OCTAVE_LITE && MAKE_BUITLINS. |
|
1681 (DEFUN_DLD): Use this for external user-supplied functions that |
|
1682 are intended to be dynamically linked. |
|
1683 |
|
1684 * configure.in: Handle --enable-lite-kernel. Call AC_SUBST for |
|
1685 use_dld and lite_kernel. Define LIBOCTDLD unless doing dynamic |
|
1686 linking and small kernel requested. |
|
1687 * acconfig.h: Add #undefs for OCTAVE_LITE and SMART_PUTENV. |
|
1688 * Makeconf.in: Define WITH_DLD from @use_dld@ and OCTAVE_LITE from |
|
1689 @lite_kernel@. |
|
1690 |
|
1691 * src/octave.cc (Fsystem): Rename from shell_cmd. |
|
1692 (Fshell_cmd): Define as alias to Fsystem. |
|
1693 |
|
1694 Mon Sep 12 20:19:20 1994 John Eaton <jwe@schoch.che.utexas.edu> |
|
1695 |
|
1696 * src/mappers.cc: Include error.h and math.h. |
|
1697 |
|
1698 Sat Sep 10 11:49:11 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1699 |
|
1700 * Makefile.in: Clean up rules for making distributions. |
|
1701 (DISTDIRS): Distribute kpathsea |
|
1702 |
|
1703 Fri Sep 9 08:46:03 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1704 |
|
1705 * liboctave/dMatrix.cc (pseudo_inverse): New function. |
|
1706 * liboctave/CMatrix.cc (pseudo_inverse): New function. |
|
1707 * src/f-pinv.cc: New file, for pinv(). |
|
1708 * src/Makefile.in (DLD_SRC): Add f-pinv.cc. |
|
1709 (DLD_OBJ): Add f-pinv.o. |
|
1710 * scripts/linear-algebra/pinv.m: Delete. |
|
1711 |
|
1712 * configure.in: Define and substitute $imagepath. |
|
1713 * src/Makefile.in: Substitute OCTAVE_IMAGEPATH. |
|
1714 * src/defaults.h.in: Add OCTAVE_IMAGEPATH. |
|
1715 * src/variables.cc (install_builtin_variables): Define IMAGEPATH. |
|
1716 * src/user-prefs.cc (image_path): New function. |
|
1717 * Makeconf.in (imagepath): substitute it. |
|
1718 |
|
1719 * src/octave.cc (initialize_globals): Ensure that $archlibdir is |
|
1720 in the user's PATH. |
|
1721 |
|
1722 * utils.cc (search_path_for_file, Ffile_in_path): New functions. |
|
1723 |
|
1724 * configure.in: Append `//' to $fcnfiledir, for recursive |
|
1725 searching. |
|
1726 (AC_OUTPUT): Edit makefiles in script subdirectories too. |
|
1727 |
|
1728 * scripts: Regroup function files in the following directories, |
|
1729 each with its own Makefile.in: |
|
1730 |
|
1731 image plot signal control |
|
1732 linear-algebra polynomial special-matrix general |
|
1733 miscellaneous set statistics |
|
1734 |
|
1735 * src/help.cc (simple_help): Use kpathsea functions to find files |
|
1736 in path. |
|
1737 * src/utils.cc (get_fcn_file_names): Likewise. |
|
1738 (pathstring_to_vector): #if 0 out. |
|
1739 |
|
1740 Thu Sep 8 16:59:42 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1741 |
|
1742 * src/Makefile.in (OCTAVE_LIBS): Include ../libkpathsea.a. |
|
1743 * configure.in: Include configure stuff for kpathsea here too. |
|
1744 * Makefile.in (kpathsea): New target. |
|
1745 * src/utils.cc (file_in_path): Use kpathsea function instead of |
|
1746 doing our own searching. |
|
1747 * kpathsea/Makefile.in (lib): Define as ../libkpathsea.a, not just |
|
1748 kpathsea.a. |
|
1749 |
|
1750 Wed Sep 7 09:39:20 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1751 |
|
1752 * src/user-prefs.cc (check_str_pref): Fix comment. |
|
1753 |
|
1754 * src/utils.cc (empty_arg): Check flag == 0, not is_empty > 0. |
|
1755 |
|
1756 * src/f-fft2.cc (Ffft2): New file and function. |
|
1757 * src/f-ifft2.cc (Fifft2): Likewise. |
|
1758 * src/fft2.m, src/ifft2.m: Delete. |
|
1759 |
|
1760 * src/f-fft.cc (Ffft): Handle second arg. Depending on value of |
|
1761 propagate_empty_matrices, return empty matrix for empty arg. |
|
1762 * src/f-ifft.cc (Fifft): Likewise. |
|
1763 |
|
1764 * liboctave/CMatrix.cc (fourier2d, ifourier2d): New functions. |
|
1765 * liboctave/dMatrix.cc (fourier2d, ifourier2d): New functions. |
|
1766 |
|
1767 * src/tree-misc.cc (eval (int, int)): New function. |
|
1768 * src/octave.cc (eval_string, Feval): Handle multiple output args. |
|
1769 |
|
1770 * src/error.cc (suppress_octave_error_messages): New global. |
|
1771 (error): Check it to see if messages should be printed. |
|
1772 * src/octave/cc (Feval): Set it if `catch' arg is supplied. |
|
1773 |
|
1774 * src/octave.cc (Feval): Handle second `catch' arg. |
|
1775 |
|
1776 * src/load-save.cc (read_mat_file_header): Init swap to zero. |
|
1777 |
|
1778 * doc/octave.1: New simple man page. |
|
1779 * doc/Makefile.in: Distribute and install it. |
|
1780 |
|
1781 * src/variables.cc (Fclear): Handle -x option for exclusive clear. |
|
1782 |
|
1783 Tue Sep 6 16:00:34 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1784 |
|
1785 * src/load-save.cc (save_mat_binary_data): New function. |
|
1786 (do_save): Handle LS_MAT_BINARY. |
|
1787 (Fsave): Handle -mat-binary. |
|
1788 (Changes from G. Beyerle <gbeyerle@AWI-Potsdam.DE>.) |
|
1789 |
|
1790 * src/variables.cc (subs_octave_home, octave_arch_lib_dir): |
|
1791 New functions. |
|
1792 (octave_home, octave_info_dir, octave_lib_dir, default_path): |
|
1793 Fix for new directory organization. |
|
1794 |
|
1795 * src/tree-expr.h (tree_multi_val_ret): New class to serve as a |
|
1796 base for objects that can produce more than one value when |
|
1797 evaluated. |
|
1798 (tree_fvc, tree_index_expression, tree_multi_assignment_expression): |
|
1799 Use it as a base. |
|
1800 |
|
1801 * src/parse.y (make_multi_val_re): New function. |
|
1802 (expression): Use it to construct multiple value assignments. |
|
1803 |
|
1804 * configure.in, Makefile.in, Makeconf.in, src/defaults.h.in: |
|
1805 Revamp directory structure used for installed versions of Octave. |
|
1806 |
|
1807 * src/f-schur.cc (Fschur): Correct argument count in error message. |
|
1808 |
|
1809 * src/octave.cc (Fcomputer): New function. |
|
1810 * scripts/computer.in: Delete. |
|
1811 * scripts/Makefile.in: Don't edit or distribute computer.in. |
|
1812 |
|
1813 Thu Sep 1 09:02:06 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1814 |
|
1815 * src/variables.cc (install_builtin_variables): New builtin |
|
1816 variable, OCTAVE_VERSION. |
|
1817 |
|
1818 Tue Aug 30 17:18:14 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1819 |
|
1820 * tree-expr.cc: Include string.h |
|
1821 (tree_matrix::eval): Fix handling of strings to work as in 1.0. |
|
1822 |
|
1823 Mon Aug 29 14:55:14 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1824 |
|
1825 * src/lex.l: Handle ".+" and ".-" too. |
|
1826 |
|
1827 * src/dirfns.cc (dir_acess, exists, gen_tempname, tempnam): New |
|
1828 functions from glibc. |
|
1829 * src/utils.cc (octave_tmp_file_name): Use tempnam. |
|
1830 (choose_temp_base_try): Delete. |
|
1831 * configure.in: Check for tempnam. |
|
1832 |
|
1833 * src/load-save.cc (Fsave): Only write floating point format if |
|
1834 doing binary save. |
|
1835 |
|
1836 * liboctave/Array.cc (operator =): Check to see if assignment is |
|
1837 to same object. |
|
1838 |
|
1839 Sun Aug 28 23:32:59 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1840 |
|
1841 * liboctave/CollocWt.cc (CollocWt::init): Call delete [] on vectors. |
|
1842 * liboctave/NPSOL.cc (NPSOL::minimize): Eliminate some memory leaks. |
|
1843 * liboctave/QPSOL.cc (QPSOL::minimize): Likewise. |
|
1844 * liboctave/NLEqn.cc (NLEqn::solve): Likewise. |
|
1845 |
|
1846 Thu Aug 25 09:27:04 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1847 |
|
1848 * info/session.c (info_get_input_char): Don't exit immediately if |
|
1849 we see EOF on the input stream. |
|
1850 |
|
1851 * scripts/kurtosis.m, scripts/skewness.m: Update from KH. |
|
1852 |
|
1853 Wed Aug 24 00:19:49 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1854 |
|
1855 * dld/Makefile.in, scripts/Makefile.in, doc/Makefile.in, |
|
1856 readline/Makefile.in, info/Makefile.in, libcruft/Makefile.in, |
|
1857 liboctave/Makefile.in, src/Makefile.in (INSTALL, INSTALL_PROGRAM, |
|
1858 INSTALL_DATA): Define here. |
|
1859 * Makeconf.in: Not here. |
|
1860 |
|
1861 * src/tree-plot.cc (send_to_plot_stream): Handle |
|
1862 user_pref.automatic_replot. |
|
1863 * src/variables.cc (install_builtin_variables): |
|
1864 Add DEFVAR for automatic_replot. |
|
1865 * src/user-prefs.cc (automatic_replot): New function. |
|
1866 * src/user-prefs.h (user_preferences): Add automatic_replot to the |
|
1867 list. |
|
1868 |
|
1869 * src/data.cc (Fatan2): Make work for mixed scalar and Matrix args. |
|
1870 (map): New functions for two arg mappers (like atan2). |
|
1871 |
|
1872 * src/f-fsqp.cc: Don't surround everything in FSQP_MISSING, so |
|
1873 that trying to use fsqp will result in a message about fsqp not |
|
1874 being freely redistributable. |
|
1875 * src/f-npsol.cc: Likewise, for NPSOL_MISSING. |
|
1876 * src/f-qpsol.cc: Likewise, for QPSOL_MISSING. |
|
1877 |
|
1878 Tue Aug 23 12:56:47 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1879 |
|
1880 * src/tree-expr.cc (tree_identifier::eval): Don't call delete for |
|
1881 ans_id. The destructor for tree_simple_assignment_expression does |
|
1882 this now. |
|
1883 |
|
1884 * src/Makefile.in (%.def : %.cc): Use sed, not awk. |
|
1885 (realclean, distclean, local-dist, dist): Delete .d and .def files. |
|
1886 |
|
1887 * liboctave/Array.h (DiagArray::Proxy): Make compilation |
|
1888 conditional on gcc version, not just _AIX. |
|
1889 |
|
1890 * src/utils.cc (octave_tmp_file_name, choose_temp_base_try): New |
|
1891 functions, stolen from GCC. If HAVE_MKTEMP is not defined, just |
|
1892 call tmpnam; otherwise, try harder to please. |
|
1893 * src/tree-plot.cc (save_in_tmp_file): Use it, instead of calling |
|
1894 tmpnam() directly. |
|
1895 * src/file-io.cc (do_scanf): Likewise. |
|
1896 * src/octave-hist.cc (mk_tmp_hist_file): Likewise. |
|
1897 * configure.in: Check for mktemp. |
|
1898 |
|
1899 * src/tree-const.h (is_matrix_type, is_scalar_type): Make private. |
|
1900 * src/tc-rep.h (is_matrix_type, is_scalar_type): Likewise. |
|
1901 |
|
1902 * src/tc-rep.h (force_numeric, make_numeric, |
|
1903 make_numeric_or_magic, make_numeric_or_range_or_magic): Make |
|
1904 private. |
|
1905 (make_numeric_or_range): #if 0 out. |
|
1906 |
|
1907 * src/utils.cc (empty_arg): Correctly set return value. |
|
1908 |
|
1909 * src/arith-ops.cc: Don't include setjmp.h. |
|
1910 * src/utils.cc: Surround setjmp.h with extern "C". |
|
1911 * src/octave.cc: Likewise. |
|
1912 |
|
1913 * src/sighandlers.cc (octave_new_handler): New function. |
|
1914 (install_signal_handlers): Call it. |
|
1915 |
|
1916 * src/f-qzval.cc (Fqzvalue): Don't call make_numeric for args. |
|
1917 Check error state after attempting to extract values. Simplify |
|
1918 where possible. |
|
1919 * src/f-colloc.cc (Fcolloc): Likewise. |
|
1920 * src/f-rand.cc (Frand): Likewise. |
|
1921 * src/f-sort.cc (Fsort): Likewise. |
|
1922 * src/f-find.cc (Ffind): Likewise. |
|
1923 * src/f-minmax.cc (Fmin, Fmax): Likewise. |
|
1924 * src/f-fft.cc (Ffft): Likewise. |
|
1925 * src/f-ifft.cc (Fifft): Likewise. |
|
1926 * src/f-svd.cc (Fsvd): Likewise. |
|
1927 * src/f-inv.cc (Finv): Likewise. |
|
1928 * src/f-det.cc (Fdet): Likewise. |
|
1929 * src/f-eig.cc (Feig): Likewise. |
|
1930 * src/f-lu.cc (Flu): Likewise. |
|
1931 * src/f-hess.cc (Fhess): Likewise. |
|
1932 * src/f-qr.cc (Fqr): Likewise. |
|
1933 * src/f-givens.cc (Fgivens): Likewise. |
|
1934 * src/f-syl.cc (Fsyl): Likewise. |
|
1935 * src/f-log.cc (Flog): Likewise. |
|
1936 * src/f-expm.cc (Fexpm): Likewise. |
|
1937 * src/f-balance.cc (Fbalance): Likewise. |
|
1938 * src/f-schur.cc (Fschur): Likewise. |
|
1939 * src/f-chol.cc (Fchol): Likewise. |
|
1940 * src/f-npsol.cc (Fnpsol, npsol_options): Likewise. |
|
1941 * src/f-fsolve.cc (Ffsolve, fsolve_options): Likewise. |
|
1942 * src/f-dassl.cc (Fdassl, dassl_options): Likewise. |
|
1943 * src/f-lsode.cc (Flsode, lsode_options): Likewise. |
|
1944 * src/f-quad.cc (Fquad, quad_options): Likewise. |
|
1945 * src/tree-expr.cc (tree_matrix::eval): Likewise, while building |
|
1946 matrix. |
|
1947 (tree_colon_expression::eval): Likewise, for elements of range. |
|
1948 * src/variables.cc (is_valid_function, Fis_global, Fexist): |
|
1949 Likewise. |
|
1950 * src/sysdep.cc (Fgetenv, Fpause): Likewise. |
|
1951 * src/octave.cc (eval_string, Fshell_cmd): Likewise. |
|
1952 * src/input.cc (get_user_input): Likewise. |
|
1953 * src/file-io.cc (return_valid_file, fopen_file_for_user, |
|
1954 fgets_internal, fseek_internal, process_printf_format, do_printf, |
|
1955 do_scanf, fread_internal, fwrite_internal, feof_internal): |
|
1956 Likewise. |
|
1957 |
|
1958 * src/tc-rep.cc (TC_REP::string_value): Call error() and return 0 |
|
1959 instead of crashing if not string_constant. |
|
1960 |
|
1961 * src/file-io.cc (fopen_file_for_user): Take string as first arg, |
|
1962 not tree_constant. Change callers. |
|
1963 (fgets_internal, fseek_internal): Correct check for int arg. |
|
1964 (process_scanf_format): Use isspace instead of checking directly |
|
1965 (and incorrectly) for white space characters. |
|
1966 |
|
1967 * src/tree-expr.cc (tree_matrix::eval, tree_unary_expression::eval, |
|
1968 tree_binary_expression::eval, tree_colon_expression::eval, |
|
1969 tree_simple_assignment_expression::eval ): Eliminate uneccesary |
|
1970 conversions to and from Octave_object/tree_constant. |
|
1971 |
|
1972 Mon Aug 22 18:35:05 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1973 |
|
1974 * src/data.cc (Fatan2): New function. |
|
1975 |
|
1976 * src/data.cc (get_dimensions): Don't call make_numeric for args. |
|
1977 Check error state after attempting to extract values. |
|
1978 |
|
1979 Fri Aug 19 08:28:24 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
1980 |
|
1981 * src/tree-misc.h (tree_parameter_list::tree_parameter_list)): |
|
1982 Initialize marked_for_varargs to zero. |
|
1983 |
|
1984 * src/load-save.cc: Add float variants of the conversion routines. |
|
1985 (LS_DO_READ): Add swap parameter and only swap bytes if it is true. |
|
1986 (read_doubles): Pass swap to LS_DO_READ. Handle float data. |
|
1987 (LS_DO_WRITE): Copy data to tmp buffer to avoid destroying data. |
|
1988 (do_double_format_conversion): Rename from do_float_format_conversion. |
|
1989 (do_float_format_conversion): New function to handle conversion |
|
1990 for float data. |
|
1991 (read_mat_binary_data): Use read_doules for all cases. Handle |
|
1992 float data. |
|
1993 (too_large_for_float): New function. |
|
1994 (save_binary_data): Save data format for scalars and ranges too. |
|
1995 (read_binary_data): Read data format for scalars and ranges too. |
|
1996 (do_save, save_vars): New arg, save_as_floats. |
|
1997 (Fsave): New option, -float-binary. |
|
1998 |
|
1999 * src/utils.cc (empty_arg): New function. |
|
2000 * src/f-balance.cc (Fbalance): Use it to simplify handling of |
|
2001 empty arguments. |
|
2002 * src/f-chol.cc (Fchol): Likewise. |
|
2003 * src/f-det.cc (Fdet): Likewise. |
|
2004 * src/f-eig.cc (Feig): Likewise. |
|
2005 * src/f-expm.cc (Fexpm): Likewise. |
|
2006 * src/f-fft.cc (Ffft): Likewise. |
|
2007 * src/f-hess.cc (Fhess): Likewise. |
|
2008 * src/f-ifft.cc (Fifft): Likewise. |
|
2009 * src/f-inv.cc (Finv): Likewise. |
|
2010 * src/f-log.cc (Flogm, Fsqrtm): Likewise. |
|
2011 * src/f-lu.cc (Flu): Likewise. |
|
2012 * src/f-qr.cc (Fqr): Likewise. |
|
2013 * src/f-schur.cc (Fschur): Likewise. |
|
2014 * src/f-svd.cc (Fsvd): Likewise. |
|
2015 |
|
2016 * src/tc-rep.cc (tupe_as_string): Move here. |
|
2017 * src/tree-const.cc: From here. |
|
2018 |
|
2019 * src/gripes.cc (gripe_invalid_conversion): New function. |
|
2020 |
|
2021 Thu Aug 18 21:02:19 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2022 |
|
2023 * src/(print_empty_matrix): New function. |
|
2024 * src/pr-output.cc (octave_print_internal): Use it to print empty |
|
2025 matrices. |
|
2026 * src/tc-rep.cc (TC_REP::print_code, TC_REP::print): Rely on |
|
2027 octave_print_internal() to handle printing empty matrices. |
|
2028 |
|
2029 * src/pr-output.cc (octave_print_internal (all variants)): |
|
2030 New arg, pr_as_read_syntax. If nonzero, print the value in a form |
|
2031 that Octave can parse. Declare os as ostream&, not ostrstream&. |
|
2032 * src/tc-rep.cc (TC_REP::print_code): Handle all types, not just |
|
2033 real and imaginary constants. |
|
2034 * src/help.cc (Ftype): Also print values of variables. |
|
2035 |
|
2036 Wed Aug 17 08:46:44 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2037 |
|
2038 * src/octave.cc (Fshell_cmd): Return output if nargout > 0 or |
|
2039 nargin > 2, otherwise, just send output to the pager. |
|
2040 |
|
2041 * src/mappers.cc (xerf, xerfc, xgamma, xlgamma): New functions. |
|
2042 Put preprocessor conditionals here. |
|
2043 (install_mapper_functions): Not here. |
|
2044 |
|
2045 Tue Aug 16 09:55:25 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2046 |
|
2047 * configure.in: Check for erf, erfc, and lgamma. |
|
2048 * src/mappers.cc (erf, erfc, lgamma): New mappers. |
|
2049 * src/mappers.h (Mapper_fcn): Add new field `name'. |
|
2050 * src/variables.cc (install_builtin_mapper): Save the name. |
|
2051 * src/tc-rep.cc (TC_REP::mapper): Don't crash if a mapper function |
|
2052 is missing. |
|
2053 |
|
2054 * src/tc-rep-1.cc (warn_invalid_conversion): New function. |
|
2055 * src/gripes.cc (gripe_invalid_conversion): New function. |
|
2056 |
|
2057 * src/parse.y (list1, parse_error): New non-terminals. |
|
2058 (list): Use them. |
|
2059 * src/lex.l: Return LEXICAL_ERROR instead of calling |
|
2060 jump_to_top_level. |
|
2061 |
|
2062 * liboctave/Range.cc (matrix_value): New function. |
|
2063 * src/tc-rep.cc (TC_REP::matrix_value): Use it. |
|
2064 |
|
2065 * src/tree-const.h (to_matrix, to_vector, to_scalar): Delete |
|
2066 unecessary functions. |
|
2067 * src/tc-rep.cc (TC_REP::to_matrix, TC_REP::to_vector, |
|
2068 TC_REP::to_scalar): Likewise. Change all callers to use |
|
2069 matrix_value, vector_value, and scalar_value instead. |
|
2070 |
|
2071 * src/tree-const.cc (TC_REP::matrix_value): If at all possible, |
|
2072 produce a matrix from the current constant. Otherwise, print an |
|
2073 error message. Don't abort or jump to the top level. |
|
2074 (TC_REP::scalar_value, TC_REP::complex_scalar_value, |
|
2075 TC_REP::vector_value, TC_REP::complex_vector_value, |
|
2076 TC_REP::complex_matrix_value): Likewise, for appropriate types. |
|
2077 |
|
2078 * src/utils.cc (empty_arg): New function. |
|
2079 * src/f-svd.cc (Fsvd): Use it. Don't call make_numeric; rely on |
|
2080 value functions to do conversion. |
|
2081 |
|
2082 * src/load-save.cc (Fload): Handle -list and -verbose. |
|
2083 |
|
2084 Mon Aug 15 09:32:57 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2085 |
|
2086 * src/tc-rep.cc (TC_REP): New define, so we don't have to write |
|
2087 tree_constant::tree_constant_rep:: everywhere. |
|
2088 * src/tree-const.h (class tree_constant): Nest tree_constant_rep |
|
2089 class inside tree_constant class by including tc-rep.h here. |
|
2090 * src/tc-rep.h: Don't include any other files, delete forward |
|
2091 class declarations. |
|
2092 |
|
2093 * src/tc-rep.h (constant_type): Make private. |
|
2094 |
|
2095 * src/parse.y (arg_list): Use tree_constant::magic_colon in |
|
2096 constructor call, not tree_constant_rep::magic_colon. |
|
2097 * src/tree-const.h (tree_constant::tree_constant |
|
2098 (tree_constant::magic_colon)): Convert arg from |
|
2099 tree_constant_rep::constant_type. |
|
2100 |
|
2101 * src/f-svd.cc (Fsvd): Simplify. |
|
2102 |
|
2103 * src/tree-expr.cc (any_arg_is_magic_colon): Don't use values from |
|
2104 tree_constant_rep::constant_type enum. |
|
2105 (tree_matrix::eval): Likewise. |
|
2106 * src/tree-misc.cc (tree_parameter_list::define_from_arg_vector, |
|
2107 tree_if_clause::eval): Likewise. |
|
2108 * src/tree-cmd.cc (tree_while_command::eval, |
|
2109 tree_for_command::eval): Likewise. |
|
2110 * src/symtab.cc (symbol_record_info::symbol_record_info): Likewise. |
|
2111 * src/f-colloc.cc (Fcolloc): Likewise. |
|
2112 * src/f-npsol.cc (npsol_objective_function): Likewise. |
|
2113 * src/f-chol.cc (Fchol): Likewise. |
|
2114 * src/f-det.cc (Fdet): Likewise. |
|
2115 * src/f-eig.cc (Feig): Likewise. |
|
2116 * src/f-expm.cc (Fexpm): Likewise. |
|
2117 * src/f-fft.cc (Ffft): Likewise. |
|
2118 * src/f-find.cc (Ffind): Likewise. |
|
2119 * src/f-hess.cc (Fhess): Likewise. |
|
2120 * src/f-ifft.cc (Fifft): Likewise. |
|
2121 * src/f-inv.cc (Finv): Likewise. |
|
2122 * src/f-log.cc (Flog): Likewise. |
|
2123 * src/f-lu.cc (Flu): Likewise. |
|
2124 * src/f-minmax.cc (Fmin, Fmax): Likewise. |
|
2125 * src/f-qr.cc (Fqr): Likewise. |
|
2126 * src/f-rand.cc (rand): Likewise. |
|
2127 * src/f-schur.cc (schur): Likewise. |
|
2128 * src/f-sort.cc (Fsort): Likewise. |
|
2129 * src/f-svd.cc (Fsvd): Likewise. |
|
2130 |
|
2131 * src/f-lu.cc (Flu): Handle case of nargout == 0 the same as |
|
2132 nargout == 1. |
|
2133 |
|
2134 * src/tree-const.h (force_numeric): Don't return type info. |
|
2135 * src/tc-rep.cc (tree_matrix::eval): Ditto. |
|
2136 * src/tree-expr.cc (tree_matrix::eval): Don't use return value |
|
2137 from tree_constant::force_numeric(). |
|
2138 |
|
2139 * src/tree-const.h (is_magic_colon): New function. |
|
2140 * src/tc-rep.h (is_magic_colon): New function. |
|
2141 |
|
2142 * src/load-save.cc (ascii_save_type): New function. |
|
2143 (save_binary_data, save_ascii_data, save_three_d): Don't use |
|
2144 values from tree_constant_rep::constant_type enum. Fail if write |
|
2145 is unsuccessful. Fail but don't panic if type is unrecognized. |
|
2146 (save_vars): Check error state after call to do_save(). |
|
2147 |
|
2148 * src/tc-rep.cc (isstr): Delete, since we have is_string. |
|
2149 * src/tree-const.h (isstr): Ditto. |
|
2150 * src/data.cc (Fisstr): Use is_string(), not isstr(). |
|
2151 |
|
2152 Sun Aug 14 16:12:10 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2153 |
|
2154 * src/load-save.cc (save_type): Add LS_U_INT, LS_CHAR and LS_FLOAT. |
|
2155 (get_save_type): Handle them. |
|
2156 (read_doubles, write_doubles): Likewise. |
|
2157 |
|
2158 * src/load-save.cc (get_floating_point_format): New function. |
|
2159 (read_mat_binary_data, read_binary_file_header): Use it. |
|
2160 |
|
2161 * src/lex.l: Combine {D}+\.{D}*{EXPON}?{Im} and {D}+{EXPON}?{Im} |
|
2162 patterns into the single pattern {D}+\.?{D}*{EXPON}?{Im} |
|
2163 Likewise, combine {D}+\.{D}*{EXPON}? and {D}+{EXPON}? into the |
|
2164 single pattern {D}+\.?{D}*{EXPON}? |
|
2165 ({D}+/\.[\*/\\^']): New pattern to force expressions like `1./m' |
|
2166 to be parsed the same as `1 ./ m'. |
|
2167 |
|
2168 * src/tree-expr.cc (do_lookup): Correctly set script_file_executed. |
|
2169 |
|
2170 * src/octave.cc (long_opts): Add --silent as an alias for --quiet, |
|
2171 and --ignore-init-file as an alias for --norc. |
|
2172 |
|
2173 * src/octave.cc (verbose_usage): Exit successfully to conform to |
|
2174 the GNU coding standards. |
|
2175 |
|
2176 Sat Aug 13 11:06:23 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2177 |
|
2178 * src/dirfns.cc (chdir): New alias for cd. |
|
2179 |
|
2180 * src/lex.l (")"): Set convert_spaces_to_comma. |
|
2181 |
|
2182 * src/*.cc: Use tree_constant::is_string(), not |
|
2183 tree_constant::is_string_type(). |
|
2184 |
|
2185 * src/f-balance.cc (Fbalance): Use is_string() rather than |
|
2186 checking const_type() against tree_constant_rep::string_constant. |
|
2187 |
|
2188 * src/tc-rep.h (tree_constant_rep::is_string_type): Delete. |
|
2189 * src/tree-const.h (tree_constant::is_string_type): Delete. |
|
2190 |
|
2191 * src/Makefile.in (%.def : %.cc): Complain if generated file is |
|
2192 empty. |
|
2193 |
|
2194 * configure.in (gcc_version): Set LDFLAGS to -g, not "-g -O". |
|
2195 |
|
2196 * src/lex.l (looks_like_bin_op): Also return true for things like |
|
2197 [ 1+ 2 ]. |
|
2198 |
|
2199 * src/data.cc (Feye, Fones): With no args, return 1.0. |
|
2200 (Fzeros): With no args, return 0.0. |
|
2201 |
|
2202 * src/Makefile.in (XALL_CXXFLAGS): ALL_CXXFLAGS without |
|
2203 -fextternal-templates. |
|
2204 (%.def : %.cc): Use it instead of ALL_CXXFLAGS. |
|
2205 |
|
2206 * configure.in: Don't use -O for compiling float-type.c. |
|
2207 |
|
2208 * libcruft/misc/Makefile.in (XCC): Use patsubst to delete any -O# |
|
2209 flags, not just -O. |
|
2210 |
|
2211 Fri Aug 12 18:20:35 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2212 |
|
2213 Changes for binary load/save, and reading .mat files: |
|
2214 |
|
2215 * src/variables.cc (is_globally_visible): Declare extern, not |
|
2216 static. |
|
2217 |
|
2218 * src/user-prefs.cc (sv_default_save_format): New function. |
|
2219 * src/user-prefs.h (default_save_format): New field in |
|
2220 user_preferences struct. |
|
2221 src/variables.cc (install_builtin_variables): Add DEFVAR for |
|
2222 default_save_format. |
|
2223 |
|
2224 * src/tc-rep.h (tree_constant_rep::is_unknown, |
|
2225 tree_constant_rep::is_scalar, tree_constant_rep::is_matrix, |
|
2226 tree_constant_rep::is_complex_scalar, |
|
2227 tree_constant_rep::is_complex_matrix, |
|
2228 tree_constant_rep::is_string, tree_constant_rep::is_range): |
|
2229 New functions. |
|
2230 |
|
2231 * src/tree-const.h (tree_constant::is_unknown, |
|
2232 tree_constant::is_scalar, tree_constant::is_matrix, |
|
2233 tree_constant::is_complex_scalar, tree_constant::is_complex_matrix, |
|
2234 tree_constant::is_string, tree_constant::is_range): |
|
2235 New functions. |
|
2236 |
|
2237 * src/tc-rep.cc (tree_constant_rep::save, |
|
2238 tree_constant_rep::save_three_d): Move to load-save.cc and convert |
|
2239 to nonmember functions. |
|
2240 |
|
2241 * src/tree-const.h (tree_constant::save, |
|
2242 tree_constant::save_three_d): Delete functions. |
|
2243 |
|
2244 * src/tree-plot.cc (save_in_tmp_file): Call nonmember functions |
|
2245 save_ascii_file and save_three_d instead of tree_constant class |
|
2246 member functions. |
|
2247 |
|
2248 * src/symtab.cc (symbol_table::glob): New function. |
|
2249 (symbol_table::save, symbol_record::save, symbol_def::save): |
|
2250 Delete unneeded functions. |
|
2251 |
|
2252 * src/load-save.cc: New file, for load/save related functions |
|
2253 extracted from src/variables.cc and src/tc-rep.cc. |
|
2254 |
|
2255 * src/error.cc (verror): Don't print name if it is null. |
|
2256 |
|
2257 Tue Aug 9 14:31:43 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2258 |
|
2259 * src/file-io.cc (process_printf_format): Use |
|
2260 tree_constant::is_scalar_type() and is_string_type() functions |
|
2261 instead of comparing directly with elements of the |
|
2262 tree_constant_rep::constant_type enum. |
|
2263 * src/variables.cc (builtin_real_scalar_variable): Likewise. |
|
2264 (install_loaded_variable): Likewise. |
|
2265 |
|
2266 * src/tree-plot.cc (open_plot_stream): New function. |
|
2267 (send_to_plot_stream): Use it. Do our own check for replot with |
|
2268 nothing to plot. |
|
2269 (tree_plot_command::eval): Open plot stream before doing anything. |
|
2270 |
|
2271 * src/data.cc (check_dimensions): When changing negative |
|
2272 dimensions to zero, handle nr and nc separately. |
|
2273 |
|
2274 Mon Aug 8 20:18:17 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2275 |
|
2276 * variables.cc (is_valid_fcn): Use lookup_by_name() instead of |
|
2277 looking in the global symbol table directly. |
|
2278 |
|
2279 * variables.cc (load_variable): Move code here. |
|
2280 * src/tc-rep.cc (tree_constant_rep::load): From here. |
|
2281 * src/tree-const.h (tree_constant::load): Delete. |
|
2282 |
|
2283 * src/tree-plot.cc: Derive classes from tree_print_code and |
|
2284 implement print_code() member functions. |
|
2285 |
|
2286 * src/tree-plot.cc (subplot_list::print): New function. |
|
2287 (tree_plot_command::print): Use it, and don't crash if plot_list |
|
2288 is null. |
|
2289 |
|
2290 * scripts/axis.m: New function file. |
|
2291 |
|
2292 Sun Aug 7 17:06:16 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2293 |
|
2294 * configure.in: Check for size of short, int, and long. |
|
2295 |
|
2296 * float-type.c: New file. |
|
2297 * configure.in: Use it to determine the native floating point |
|
2298 format. |
|
2299 * Makefile.in: Add it to the list of files to distribute. |
|
2300 * acconfig.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN, VAX_D_FLOAT, |
|
2301 VAX_G_FLOAT): Add #undefs. |
|
2302 |
|
2303 Sat Aug 6 18:23:47 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2304 |
|
2305 * config.guess: Update with new copy from gcc 2.6.0. |
|
2306 |
|
2307 * src/*.cc, src/*.h, src/*.l, src/*.y: Eliminate need for tree.h. |
|
2308 * src/Makefile.in (INCLUDES): Delete it from the list. |
|
2309 |
|
2310 * src/token.cc (token::token (double)): Handle saving original |
|
2311 text of constants for later use by print_code() functions. |
|
2312 (token::~token): Delete original text. |
|
2313 (token::text_rep): New function. |
|
2314 * src/lex.l: Save original text for NUM and IMAG_NUM tokens. |
|
2315 * src/parse.y: Likewise. |
|
2316 |
|
2317 * src/parse.y (yyerror): Use the pager. |
|
2318 |
|
2319 * src/tree-base.h (tree_print_code): New base class for trees and |
|
2320 lists of trees. |
|
2321 (tree): Derive from tree_print_code. |
|
2322 * src/tree-base.cc: New file, for tree_print_code functions, and |
|
2323 for initializing tree_print_code static members. |
|
2324 * src/tree-const.cc, src/tc-rep.cc, src/tree-plot.cc, |
|
2325 src/tree-expr.cc, src/tree-cmd.cc (all tree classes): |
|
2326 Provide print_code() member function. |
|
2327 * src/tree-misc.cc: Also derive list classes from tree-base.h and |
|
2328 provide print_code() member functions. |
|
2329 |
|
2330 * src/help.cc (Ftype, Fwhich): New functions. |
|
2331 |
|
2332 * src/octave-hist (do_history): Send history output through the |
|
2333 pager. |
|
2334 |
|
2335 * src/variables.cc (do_who, Fwhos): New functions. |
|
2336 |
|
2337 * src/tree-expr.h (tree_expression::in_parens): Declare here. |
|
2338 (tree_simple_assignment_expression::in_parens): Not here. |
|
2339 * src/parse.y (maybe_warn_assign_as_truth_value): Eliminate cast. |
|
2340 |
|
2341 * src/variables.cc (load_fcn_from_file, lookup, lookup_by_name): |
|
2342 New functions, extracted from tree_identifier class. |
|
2343 (gobble_leading_whitespace, is_function_file, parse_fcn_file): |
|
2344 Move here from tree-expr.cc. |
|
2345 * src/help.cc (Fhelp): Use lookup_by_name so that looking up |
|
2346 symbols is handled in a consistent way. |
|
2347 |
|
2348 * tree-expr.cc (tree_unary_expression::oper, |
|
2349 tree_binary_expression::oper, tree_prefix_expression::oper, |
|
2350 tree_postfix_expression::oper): New functions. |
|
2351 |
|
2352 * tc-rep.cc (valid_scalar_indices): Define here. |
|
2353 * tc-inlines.cc: Not here. |
|
2354 |
|
2355 * src/tree-const.h (tree_constant::stash_original_text): New |
|
2356 function. |
|
2357 * src/tc-rep.cc (tree_constant_rep::stash_original_text): Ditto. |
|
2358 (undo_string_escapes): Ditto. |
|
2359 |
|
2360 * src/tc-rep (tree_constant_rep::do_matrix_index): Don't just |
|
2361 return *this. |
|
2362 * src/tree-const.h (tree_constant::tree_constant (tree_constant_re&)): |
|
2363 Delete. |
|
2364 |
|
2365 * src/pager.cc (open_diary_file, close_diary_file, |
|
2366 maybe_write_to_diary_file, Fdiary): New functions. |
|
2367 (flush_output_to_pager): Call maybe_write_to_diary_file before |
|
2368 sending output to the screen. |
|
2369 * src/input.cc (octave_gets): Call maybe_write_to_diary file to |
|
2370 save the prompt and the user input. |
|
2371 * src/error.cc (verror): Use C++ streams, not C I/O functions. |
|
2372 Call maybe_write_to_diary file to save error messges too. |
|
2373 * src/octave.cc (clean_up_and_exit): Close diary file here. |
|
2374 |
|
2375 * src/octave.cc (main): Initialize pager first. |
|
2376 |
|
2377 * src/input.cc (get_user_input): Return empty matrix for no input. |
|
2378 |
|
2379 * src/tree-plot.cc: Include readline/tilde.h instead of declaring |
|
2380 tilde_expand() directly. |
|
2381 * src/utils.cc: Likewise. |
|
2382 |
|
2383 * src/tree-plot.cc (tree_plot_command::print_code): New function. |
|
2384 * src/tree-const.h (tree_constant::print_code): Likewise. |
|
2385 |
|
2386 * src/tree-expr.h (tree_simple_assignment_expression::ans_ass): |
|
2387 New data member to flag assignments to ans. |
|
2388 * src/tree-expr.cc (tree_identifier::eval): Set it when |
|
2389 constructing assignments to ans. |
|
2390 * src/parse.y (maybe_convert_to_ans_assign): Likewise. |
|
2391 |
|
2392 * src/tree-expr.h (tree_simple_assignment_expression::preserve): |
|
2393 New data member to allow preserving left hand side args that |
|
2394 shouldn't be deleted in some cases (ugh). |
|
2395 * src/tree-expr.cc (tree_multi_assignment_expression::eval): |
|
2396 Create assignment with preserve flag set. |
|
2397 |
|
2398 Wed Aug 3 14:27:25 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2399 |
|
2400 Yet another massive reorganization of sources, once again |
|
2401 hopefully for the better. A fair amount of work is not detailed |
|
2402 here, but these are the major points. The grammar file and the |
|
2403 derivation of the tree classes are somewhat cleaner now. |
|
2404 |
|
2405 * src/parse.y: Cope with changes to derivation scheme. |
|
2406 |
|
2407 * src/tree-misc.cc: New file. |
|
2408 (tree_statement, tree_global): New classes. |
|
2409 (tree_global_init_list): New class, derived from SLList for the |
|
2410 list of expressions in a global command. |
|
2411 * src/tree-cmd.cc (tree_global_command): Use tree_global_init_list. |
|
2412 |
|
2413 * src/tree-misc.cc (tree_argument_list): Move here from |
|
2414 tree-expr.cc, and derive from SLList instead of tree. |
|
2415 (tree_parameter_list): Likewise. |
|
2416 (tree_return_list): Likewise. |
|
2417 |
|
2418 * src/tree-cmd.cc (tree_command_list): Delete class. |
|
2419 * src/tree-misc.cc (tree_statement_list): New class for keeping a |
|
2420 list of commands or expressions to evaluate. Derive from SLList, |
|
2421 not tree. |
|
2422 |
|
2423 * src/tree-plot.cc (subplot_list, plot_limits, plot_range, |
|
2424 subplot_using, subplot_style): Rename from tree_*, and |
|
2425 don't derive from tree class. |
|
2426 |
|
2427 * src/tree-plot.cc: Eliminate eval member function for classes not |
|
2428 derived from tree class. |
|
2429 |
|
2430 * src/tree-plot.cc, src/tree-cmd.cc: For classes derived from |
|
2431 tree-command, the eval() member function is now void eval (void). |
|
2432 |
|
2433 * src/tree-base.h (tree::tree): New constructor, to initialize the |
|
2434 line and column info. For all classes that are derived from the |
|
2435 tree class, use it instead of manipulating the data directly. |
|
2436 (line_num, column_num): Make private. |
|
2437 |
|
2438 * src/tree-expr.cc (tree_simple_assignment_expression::preserve): |
|
2439 New data member, set in constructors and used by the destructor |
|
2440 when the left-hand side of the expression should not be deleted |
|
2441 (as for some temporary assignments not constructed in the parser). |
|
2442 |
|
2443 * src/tree-expr.h (tree_expression::type) Rename and move here from |
|
2444 tree-base.h. Change all uses. |
|
2445 (tree_matrix::dir): Likewise. Change all uses. |
|
2446 |
|
2447 * src/utils.cc (make_argv): Stash function name in argv[0]. |
|
2448 |
|
2449 * src/octave.cc (global_command): Declare as tree_statement_list, |
|
2450 not tree. |
|
2451 |
|
2452 * src/parse.y (make_binary_op, make_unary_op, make_prefix_op, |
|
2453 make_postfix_op): New functions. |
|
2454 |
|
2455 * src/parse.y (GLOBAL): Make it a tok_val type. |
|
2456 * src/lex.l (is_keyword): Give GLOBAL a value. |
|
2457 |
|
2458 Mon Aug 1 22:37:22 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2459 |
|
2460 * src/lex.l (grab_help_text): Unput the last character read. |
|
2461 |
|
2462 Sun Jul 31 21:17:07 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2463 |
|
2464 * src/pr-output.cc (set_format (double, int&)): Avoid calling |
|
2465 log10 for Inf and NaN. |
|
2466 |
|
2467 Fri Jul 29 16:08:32 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2468 |
|
2469 * src/octave.cc (reading_startup_message_printed): New flag. |
|
2470 (parse_and_execute): New arg, verbose. If true, print name of |
|
2471 file as it is read. |
|
2472 (execute_startup_files): Don't print message if |
|
2473 inhibit_startup_message is true. |
|
2474 (main): Move startup message before reading init files. |
|
2475 |
|
2476 Thu Jul 28 00:25:42 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2477 |
|
2478 * liboctave/Makefile.in (MATRIX_INC): Delete CmplxColVec.h from list. |
|
2479 |
|
2480 * src/symtab.cc (symbol_table::rename): New function. |
|
2481 * src/parse.y (func_def2): Use it instead of tree_identifier::rename. |
|
2482 * src/tree-expr.cc (tree_identifier::rename): Delete unused function. |
|
2483 |
|
2484 * src/tree-expr.cc (tree_identifier::load_fcn_from_file): New function. |
|
2485 (tree_identifier::do_lookup): Use it instead of parse_fcn_file. |
|
2486 * src/variables.cc (is_valid_function): Ditto. |
|
2487 * src/help.cc (Fhelp): Ditto. |
|
2488 |
|
2489 * src/utils.cc (oct_file_in_path): New function. |
|
2490 |
|
2491 Wed Jul 27 08:59:32 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2492 |
|
2493 * src/tree-expr.cc (tree_identifier::parse_fcn_file): Combine |
|
2494 three functions into one. |
|
2495 |
|
2496 * src/utils.cc: Delete uneeded declaration of ioctl(). |
|
2497 * src/sysdep.cc: Likewise. |
|
2498 |
|
2499 * install.sh: New file, from autoconf distribution. |
|
2500 * Makefile.in (DISTFILES): Distribute it. |
|
2501 |
|
2502 Tue Jul 26 16:08:58 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2503 |
|
2504 * scripts/Makefile.in (DISTDIRS): New variable, for directories |
|
2505 below scripts to distribute. |
|
2506 (dist): Handle distributing whole directories named by $(DISTDIRS). |
|
2507 (local-dist): Ditto. |
|
2508 |
|
2509 Mon Jul 25 12:57:09 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2510 |
|
2511 * liboctave/CmplxQRP.cc: Provide declaration for zungqr. |
|
2512 * liboctave/dbleQRP.cc: Provide declaration for dorgqr. |
|
2513 |
|
2514 * src/Makefile.in (dist): Also remove y.output and defaults.h. |
|
2515 (local-dist): Ditto. |
|
2516 (realclean): Ditto. |
|
2517 |
|
2518 * src/oct-obj.h (Octave_object::Octave_object (int)): Make |
|
2519 private, to avoid problems with different meanings of |
|
2520 Octave_object (int) and Octave_object (double) constructors. |
|
2521 |
|
2522 * scripts/amr-image: New files for image processing from Tony |
|
2523 Richardson. These are not in the default octave LOADPATH yet. |
|
2524 See the README file in the amr-image directory for more info on |
|
2525 how to use them. |
|
2526 |
|
2527 * src/octave.cc (Fshell_cmd): Restore accidentally deleted |
|
2528 function. |
|
2529 |
|
2530 * scripts/conv-amr.m, scripts/deconv-amr.m, scripts/roots-amr.m, |
|
2531 scripts/poly-amr.m, scripts/roots-tuwien.m, scripts/conv-tuwien.m, |
|
2532 scripts/deconv-tuwien.m, scripts/poly-tuwien.m: |
|
2533 New files. |
5775
|
2534 FIXME -- For each of these functions, either one of the |
2330
|
2535 versions will need to be selected, or they will need to be merged |
|
2536 before the next release. |
|
2537 |
|
2538 * scripts/null.m, scripts/orth.m, scripts/fft2.m, scripts/ifft2.m, |
|
2539 scripts/filter.m, scripts/compan.m, scripts/polyderiv.m, |
|
2540 scripts/polyinteg.m, scripts/polyreduce.m, scripts/polyval.m, |
|
2541 scripts/polyvalm.m, scripts/postpad.m, scripts/prepad.m, |
|
2542 scripts/residue.m, scripts/sinc.m, scripts/freqz.m, |
|
2543 scripts/complement.m, scripts/intersection.m, |
|
2544 scripts/create_set.m, scripts/union.m: |
|
2545 New files. |
|
2546 |
|
2547 * scripts/hilb.m: Eliminate inner loop, for speed. From |
|
2548 romolo@URSAMAJOR.ENG.UNIPR.IT (Romolo Manfredini). |
|
2549 |
|
2550 Sun Jul 24 22:08:48 1994 Castor Fu (castor@drizzle.stanford.edu) |
|
2551 |
|
2552 * libcruft/ranlib/genf.f (genf): Use 1.2E-38 instead of 1.0E-38 |
|
2553 when checking to see if generated numbers will cause overflow. |
|
2554 This helps DEC's f77 compiler on the Alpha, which refuses to |
|
2555 generate denormalized constants. |
|
2556 * libcruft/ranlib/gennf.f (gennf): Likewise. |
|
2557 |
|
2558 Fri Jul 22 10:27:00 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2559 |
|
2560 * src/Makefile.in (DEF_FILES): Depend on defun header files too. |
|
2561 |
|
2562 Thu Jul 21 14:40:30 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2563 |
|
2564 * liboctave/NLFunc.h (nonlinear_fcn): Declare as pointer to |
|
2565 function taking const ColumnVector arg. |
|
2566 (jacobian_fcn): Ditto. |
|
2567 |
|
2568 * src/defun-int.h (DEFINE_ARGV): Declare and define save_argc and |
|
2569 save_argv for functions that mess with argc and argv directly. |
|
2570 (DELETE_ARGV): Use save_argc and save_argv instead of argc and argv. |
|
2571 |
|
2572 * src/f-lsode.cc (ODE_OPTIONS): Add const qualifier for string elts. |
|
2573 (print_lsode_option_list): Declare keyword as const char *. |
|
2574 * src/f-npsol.cc, src/f-qpsol.cc, src/f-dassl.cc, src/f-quad.cc: |
|
2575 Likewise, for corresponding structs and functions. |
|
2576 |
|
2577 * liboctave/dbleSVD.h (SVD::type): New enum, for choosing type of |
|
2578 factorization. |
|
2579 * liboctave/CmplxSVD.cc (SVD::SVD): Add new optional arg for type. |
|
2580 (init): Handle case of type == SVD::economy. |
|
2581 * liboctave/dbleSVD.cc: Likewise. |
|
2582 |
|
2583 QR changes from R. Bruce Tenison (btenison@eng.auburn.edu) adapted |
|
2584 for new way of defining builtin functions: |
|
2585 |
|
2586 * doc/linalg.texi: Changed QR description to include QRP |
|
2587 factorization |
|
2588 |
|
2589 * src/f-qr.cc (Fqr): Handle permuted and economy QR |
|
2590 factorizations. Handle case of 1 output arg. |
|
2591 |
|
2592 * liboctave/Makefile.in (MATRIX_INC, MATRIX_SRC): Add new QRP files. |
|
2593 |
|
2594 * liboctave/dbleQRP.h, liboctave/dbleQRP.cc, liboctave/CmplxQRP.h, |
|
2595 liboctave/CmplxQRP.h: New files, for QR with pivoting. |
|
2596 |
|
2597 * liboctave/dbleQR.h (QR::type): New enum, for choosing type of |
|
2598 factorization. |
|
2599 * liboctave/CmplxQR.cc (QR): Add new optional arg for type. |
|
2600 Handle case of type == SVD::economy and SVD::raw. |
|
2601 * liboctave/dbleQR.cc (QR): Likewise. |
|
2602 |
|
2603 * libcruft/lapack/dgeqpf.f: New file. |
|
2604 * libcruft/lapack/zgeqpf.f: Ditto. |
|
2605 |
|
2606 Wed Jul 20 13:12:55 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2607 |
|
2608 * liboctave/*.cc, liboctave/*.h: Various cleanups to remove use of |
|
2609 NULL. Only mention default argument values in function |
|
2610 declarations, not in their definitions (required for gcc 2.6.x). |
|
2611 |
|
2612 * configure.in: If configuring for alpha-dec-osf, check for sgtty |
|
2613 first. If not found, go ahead and check for Posix terminal driver. |
|
2614 |
|
2615 Tue Jul 19 09:25:45 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2616 |
|
2617 * liboctave/mx-defs.h (FILE): Don't declare as struct FILE just to |
|
2618 avoid including stdio.h. |
|
2619 * liboctave/dMatrix.cc: Do include stdio.h here. |
|
2620 |
|
2621 * liboctave matrix classes: Declare operator>> correctly, and |
|
2622 return istream object. Get friend stuff right. |
|
2623 |
|
2624 * liboctave/DAE.cc (DAE::integrate): To see if the user provided a |
|
2625 Jacobian function, call DAEFunc::jacobian_function (). |
|
2626 |
|
2627 * liboctave/DAE.cc (user_fun, user_jac): Qualify with class name. |
|
2628 * liboctave/ODE.cc (user_fun, user_jac): Ditto. |
|
2629 |
|
2630 * liboctave/DAFunc.h (DAEJac): Declare inside class. |
|
2631 (DAERHSFunc, DAEJacFunc): Define types inside class. |
|
2632 * liboctave/ODEFunc.h (ODERHSFunc, ODEJacFunc) Likewise. |
|
2633 |
|
2634 Massive reorganization of sources, hopefully for the better. |
|
2635 A fair amount of work is not detailed here, but these are the |
|
2636 major points... |
|
2637 |
|
2638 * src/symtab.h (symbol_def::TYPE) Add new elements for recording |
|
2639 whether a symbol is a text function or mapper function. |
|
2640 * src/symtab.cc (symbol_def::is_text_function, |
|
2641 symbol_record::is_text_function, symbol_def::is_mapper_function, |
|
2642 symbol_record::is_mapper_function): New functions. |
|
2643 Modify existing is_* functions to cope with these changes. |
|
2644 (symbol_def::symbol_def (tree_builtin*, unsigned)): New 2nd arg. |
|
2645 (symbol_def::symbol_def (tree_function*, unsigned)): Ditto |
|
2646 (symbol_def::define (tree_builtin*, unsigned)): Ditto. |
|
2647 (symbol_def::define (tree_function*, unsigned)): Ditto. |
|
2648 * src/variables.cc (is_text_function_name): Use the new symbol |
|
2649 table functions, since we can no longer tell by looking in a |
|
2650 simple list. |
|
2651 |
|
2652 * tree-expr.cc (class tree_builtin): Text functions are no longer |
|
2653 handled as a special case here. |
|
2654 |
|
2655 * src/sysdep.cc (octave_ieee_init): Special case Alpha for |
|
2656 initializing Inf and NaN. |
|
2657 |
|
2658 * src/tc-rep.cc: Use const in more places. |
|
2659 |
|
2660 * src/data.cc src/timefns.cc, src/dirfns.cc, src/dirfns.h: New |
|
2661 files. |
|
2662 |
|
2663 * src/*.cc, src/*.y, src/*.l, src/*.h: Various cleanups to remove |
|
2664 use of NULL. Only mention default argument values in function |
|
2665 declarations, not in their definitions (required for gcc 2.6.x). |
|
2666 |
|
2667 * src/g-builtins.cc, src/g-builtins.h, src/t-builtins.cc |
|
2668 src/t-builtins.h: Removed. Functions moved to various other |
|
2669 files, where they more logically belong. |
|
2670 * src/utils.cc: Likewise, various functions moved to other files, |
|
2671 where they more logically belong. |
|
2672 * src/mappers.cc (install_mapper_functions): Declare all mapper |
|
2673 functions here with the new DEFUN_MAPPER() macro. |
|
2674 * src/variables.cc (install_builtin_variables): Declare all |
|
2675 builtin variables here, with the new DEFVAR() macro. |
|
2676 |
|
2677 * src/f-*.h: Deleted. |
|
2678 * src/f-*.cc: Delete #ifdef WITH_DLD code and use DEFUN_DLD() |
|
2679 instead to declare builtin functions that will be dynamically |
|
2680 loaded. Give all functions a uniform return type and argument |
|
2681 list. |
|
2682 |
|
2683 * src/mkdefs, src/mkbuiltins: New scripts. |
|
2684 * src/Makefile.in: Use them to generate builtins.cc automatically |
|
2685 from source files that use DEFUN. |
|
2686 |
|
2687 * src/defun.h, src/defun-dld.h, src/defun-int.h: New files, to |
|
2688 define DEFUN() and DEFVAR() macros to make it possible to define |
|
2689 functions together with their help strings in one place. The code |
|
2690 to install functions in the symbol table is now generated by |
|
2691 mkbuiltins. |
|
2692 |
|
2693 * configure.in (LIBOCTDLD): New variable to define. |
|
2694 Only call AC_VERBOSE() for DYNAMIC_LD_OBJ, DLD_DIR, LIBDLD, |
|
2695 LIBOCTDLD, and LD_STATIC_FLAG if they are set. |
|
2696 * move-if-change: Move here, from src/move-if-change. |
|
2697 * Makeconf.in (%.d: %.cc): Echo simple message instead of the |
|
2698 commands actually executed. |
|
2699 (%.d: %.c): Likewise. |
|
2700 |
|
2701 * src/unwind-prot.h: Include stddef.h, for size_t. |
|
2702 |
|
2703 Tue Jul 12 12:51:25 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2704 |
|
2705 * src/f-eval.cc, src/f-fill.cc, src/f-find.cc, src/f-input.cc, |
|
2706 src/f-minmax.cc, src/f-log.cc, src/f-sort.cc, src/f-eval.h, |
|
2707 src/f-fill.h, src/f-find.h, src/f-input.h, src/f-log.h, |
|
2708 src/f-minmax.h, src/f-sort.h: New files, for functions extracted |
|
2709 from tree-const.cc. |
|
2710 * src/Makefile.in: Add them to the list of INCLUDES, SOURCES, and |
|
2711 OBJECTS. |
|
2712 |
|
2713 * src/f-*.cc: Clean up things a bit by letting the compiler |
|
2714 generate the tree_constant constructor calls. |
|
2715 |
|
2716 * src/unwind-prot.h: Include stddef.h, for size_t. |
|
2717 |
|
2718 * src/oct-obj.h (Octave_object (int, const tree_constant&)): |
|
2719 New constructor form. |
|
2720 * src/tree-const.cc (find_nonzero_elem_idx): Rewrite to handle 2 |
|
2721 and 3 return values. |
|
2722 |
|
2723 * src/g-builtins.cc (builtin_find): Check nargout too. |
|
2724 * src/builtins.cc (general_functions): Fix help message for find. |
|
2725 |
|
2726 Mon Jul 11 13:36:15 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2727 |
|
2728 * src/tc-rep.cc (tree_constant_rep::convert_to_row_or_column_vector): |
|
2729 If already have a row or column vector, return without doing |
|
2730 anything. |
|
2731 |
|
2732 Sat Jul 9 01:02:51 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2733 |
|
2734 * src/oct-obj.h (Octave_object): Make it a class, not just a |
|
2735 typedef. |
|
2736 |
|
2737 * src/tree-expr.h (tree_function::curr_va_arg_number): Rename from |
|
2738 curr_arg_number. |
|
2739 (tree_function::varargs_ok): Delete unused member variable. |
|
2740 * src/tree-expr.cc (tree_function::octave_va_arg): Increment |
|
2741 cur_va_arg_number before indexing args_passed. |
|
2742 (tree_function::octave_va_start): Set curr_va_arg_number to |
|
2743 num_args_passed, not num_args_passed + 1. |
|
2744 (tree_function::takes_varargs): Call param_list::takes_varargs, |
|
2745 don't just return varargs_ok. |
|
2746 (tree_function::define_param_list): If param_list is not NULL, set |
|
2747 num_named_args and curr_va_arg_number even if function doesn't |
|
2748 take varargs. |
|
2749 |
|
2750 * src/tree-expr.cc (tree_identifier::eval (int)): Only pass empty |
|
2751 arg list if evaluating a constant. |
|
2752 (tree_function::eval (int)): Always pass least one arg. |
|
2753 |
|
2754 * Makeconf.in (TMP_IF_1): Add `-I../src'. |
|
2755 (TMP_IF_2): Add `-I$(TOPDIR)/src' and `-I$(top_srcdir)/src'. |
|
2756 |
|
2757 * src/t-builtins.h, src/variables.h, src/file-io.h, src/f-syl.h, |
|
2758 src/f-svd.h, src/f-schur.h, src/f-rand.h, src/f-qzval.h, |
|
2759 src/f-quad.h, src/f-qpsol.h, src/f-npsol.h, src/f-lsode.h, |
|
2760 src/f-lpsolve.h, src/f-hess.h, src/f-givens.h, src/f-fsqp.h, |
|
2761 src/f-fsolve.h, src/f-eig.h, src/f-dassl.h, src/f-colloc.h, |
|
2762 src/f-balance.h, src/dynamic-ld.h, src/builtins.cc, |
|
2763 src/tree-const.cc, src/file-io.cc, src/f-syl.cc, src/f-svd.cc, |
|
2764 src/f-schur.cc, src/f-rand.cc, src/f-qzval.cc, src/f-qr.cc, |
|
2765 src/f-qpsol.cc, src/f-lu.cc, src/f-lpsolve.cc, src/f-inv.cc, |
|
2766 src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc, |
|
2767 src/f-fft.cc, src/f-expm.cc, src/f-eig.cc, src/f-det.cc, |
|
2768 src/f-colloc.cc, src/f-chol.cc, src/f-balance.cc, |
|
2769 src/dynamic-ld.cc, src/f-dassl.cc, src/f-fsolve.cc, |
|
2770 src/f-lsode.cc, src/f-npsol.cc, src/f-quad.cc, src/tree-expr.h, |
|
2771 src/tc-rep.cc, src/tc-inlines.cc, src/tc-rep.h, src/tree-const.h, |
|
2772 src/g-builtins.cc, src/g-builtins.h, src/tree-expr.cc, |
|
2773 src/variables.cc: Delete nargin in favor of using args.length(). |
|
2774 |
|
2775 * configure.in: Check for struct exception in math.h. |
|
2776 * src/sysdep.cc (matherr): New function. |
|
2777 |
|
2778 Fri Jul 8 15:31:53 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2779 |
|
2780 * src/tc-rep.cc: Include arith-ops.h. |
|
2781 (tree_constant_rep::do_scalar_index): Use `invalid', not `illegal' |
|
2782 in messages. |
|
2783 |
|
2784 * src/oct-obj.h: Protect contents from multiple inclusion. |
|
2785 |
|
2786 * src/tree-const.h, src/tree-expr.h: Don't include Array.h. |
|
2787 |
|
2788 * src/parse.y (param_list): Allow ELLIPSIS by itself. |
|
2789 * src/tree-expr.cc (tree_identifier::mark_varargs_only, |
|
2790 tree_identifier::vararg_only): New functions. |
|
2791 (tree_function::eval): Only call define_from_arg_vector if |
|
2792 param_list is non-null and not marked as varargs_only. |
|
2793 |
|
2794 * src/f-balance.h, src/f-chol.h, src/f-colloc.h, src/f-dassl.h, |
|
2795 src/f-eig.h, src/f-fsolve.h, src/f-fsqp.h, src/f-givens.h, |
|
2796 src/f-hess.h, src/f-lpsolve.h, src/f-lsode.h, src/f-lu.h, |
|
2797 src/f-npsol.h, src/f-qpsol.h, src/f-qr.h, src/f-quad.h, |
|
2798 src/f-qzval.h, src/f-rand.h, src/f-schur.h, src/f-svd.h, |
|
2799 src/f-syl.h: Include oct-obj.h, not tree-const.h to get |
|
2800 declaration of Octave_object. |
|
2801 |
|
2802 * src/f-givens.cc (givens): Handle case of nargout == 0. |
|
2803 Use `invalid', not `illegal' in messages. |
|
2804 * src/f-balance.cc (balance): Likewise. |
|
2805 |
|
2806 * src/f-balance.cc (balance): Print warning about two output |
|
2807 arguments for complex-valued case too. |
|
2808 |
|
2809 * src/tc-rep.cc: Include arith-ops.h. |
|
2810 |
|
2811 Thu Jul 7 20:54:12 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2812 |
|
2813 * src/parse.y (identifier): Add missing semicolon. |
|
2814 (param_list): Ditto. |
|
2815 |
|
2816 * src/f-svd.cc (svd): Handle nargout == 0 the same as nargout == 1. |
|
2817 * src/f-schur.cc (schur): Likewise. |
|
2818 * src/f-hess.cc (hess): Likewise. |
|
2819 * src/f-eig.cc (eig): Likewise. |
|
2820 * src/f-syl.cc (syl): Likewise. |
|
2821 * src/f-qzval.cc (qzvalue): Likewise. |
|
2822 * src/f-npsol.cc (npsol): Likewise. |
|
2823 * src/f-qpsol.cc (qpsol): Likewise. |
|
2824 * src/f-givens.cc (givens): Likewise. |
|
2825 * src/f-fsolve.cc (fsolve): Likewise. |
|
2826 * src/f-balance.cc (balance): Likewise. |
|
2827 * src/file-io.cc (process_scanf_format): Likewise. |
|
2828 * src/g-builtins.cc (builtin_balance, builtin_chol, builtin_dassl, |
|
2829 builtin_eig, builtin_fsolve, builtin_fsqp, builtin_lsode, |
|
2830 builtin_max, builtin_min, builtin_npsol, builtin_qpsol, |
|
2831 builtin_quad, builtin_rand, builtin_size, builtin_sort, |
|
2832 builtin_svd, builtin_schur, builtin_syl, builtin_givens, |
|
2833 builtin_hess): Likewise. |
|
2834 * src/tree-const.cc (vector_of_empties, column_max, column_min): |
|
2835 Likewise. |
|
2836 |
|
2837 * src/variables.h, src/symtab.h: Include builtins.h for typedefs. |
|
2838 |
|
2839 * src/tree-expr.cc(tree_multi_assignment_expression::eval): Rework |
|
2840 handling of undefined values returned from functions. |
|
2841 |
|
2842 * src/tree-expr.cc (tree_identifier::is_defined): New function. |
|
2843 (tree_parameter_list::is_defined): New function. |
|
2844 (tree_parameter_list::convert_to_const_vector): Use it to avoid |
|
2845 evaluating undefined objects. |
|
2846 |
|
2847 * src/f-balance.cc, src/f-eig.h, src/f-hess.cc, src/f-lu.h, |
|
2848 src/f-rand.cc, src/f-balance.h, src/f-expm.cc, src/f-hess.h, |
|
2849 src/f-npsol.cc, src/f-rand.h, src/f-chol.cc, src/f-expm.h, |
|
2850 src/f-ifft.cc, src/f-npsol.h, src/f-schur.cc, src/f-chol.h, |
|
2851 src/f-fft.cc, src/f-ifft.h, src/f-qpsol.cc, src/f-schur.h, |
|
2852 src/f-colloc.cc, src/f-fft.h, src/f-inv.cc, src/f-qpsol.h, |
|
2853 src/f-svd.cc, src/f-colloc.h, src/f-fsolve.cc, src/f-inv.h, |
|
2854 src/f-qr.cc, src/f-svd.h, src/f-dassl.cc, src/f-fsolve.h, |
|
2855 src/f-lpsolve.cc, src/f-qr.h, src/f-syl.cc, src/f-dassl.h, |
|
2856 src/f-fsqp.cc, src/f-lpsolve.h, src/f-quad.cc, src/f-syl.h, |
|
2857 src/f-det.cc, src/f-fsqp.h, src/f-lsode.cc, src/f-quad.h, |
|
2858 src/f-det.h, src/f-givens.cc, src/f-lsode.h, src/f-qzval.cc, |
|
2859 src/f-eig.cc, src/f-givens.h, src/f-lu.cc, src/f-qzval.h, |
|
2860 src/dynamic-ld.cc, src/dynamic-ld.h, src/file-io.cc, |
|
2861 src/file-io.h, src/t-biultins.cc, src/t-builtins.h, |
|
2862 src/tree-expr.cc, src/tree-expr.h, src/tree-const.cc, |
|
2863 src/tree-const.h, src/tc-inlines.cc, src/tc-rep.cc, src/tc-rep.h, |
|
2864 src/g-builtins.cc, src/g-builtins.h: |
|
2865 Cope with inital round of Octave_object changes. |
|
2866 |
|
2867 * src/oct-obj.h: New file for Octave_object typedef. |
|
2868 * src/dynamic-ld.h, src/file-io.h, src/tree-const.h, |
|
2869 src/tree-expr.h: Include it. |
|
2870 * src/Makefile.in (INCLUDES): Add it to the list. |
|
2871 |
|
2872 Wed Jul 6 09:28:28 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2873 |
|
2874 * libocsrc/tree-const.h: |
|
2875 |
|
2876 * src/parse.y (maybe_convert_to_ans_assign, |
|
2877 maybe_warn_assign_as_truth_value): Pass tree_expression*, not tree*. |
|
2878 (ans_expression, expression, simple_expr, simple_expr1, title): |
|
2879 Declare as tree_expression_type, not tree_type. |
|
2880 (opt_list): Add missing semicolon. |
|
2881 |
|
2882 * src/tc-rep.h, src/tc-rep.cc: New files, extracted from |
|
2883 tree-const.h and tree-const.cc, for the tree_constant_rep class. |
|
2884 Leave most friend functions behind, in tree-const.h. |
|
2885 Don't declare do_binary_op or do_unary_op as friends. |
|
2886 |
|
2887 * src/lex.l: Include tree-plot.h and tree-const.h. |
|
2888 |
|
2889 * src/variables.cc (takes_correct_nargs): Pass tree_fvc* not tree*. |
|
2890 * src/variables.cc (is_valid_function): Return tree_fvc* not tree*. |
|
2891 Change all callers. |
|
2892 |
|
2893 * src/symtab.h, symtab.cc: Change declaration of symbol definition to |
|
2894 be tree_fvc* instead of tree*. Change all callers. |
|
2895 |
|
2896 * src/f-dassl.cc (dassl_fcn): Declare as tree_fvc*, not tree*. |
|
2897 * src/f-quad.cc (quad_fcn): Likewise. |
|
2898 * src/f-lsode.cc (lsode_fcn): Likewise. |
|
2899 * src/f-fsolve.cc (fsolve_fcn): Likewise. |
|
2900 * src/f-npsol.cc (npsol_fcn, npsol_constraints): Likewise. |
|
2901 |
|
2902 * src/tree-plot.cc: All operations are now on tree_expression types, |
|
2903 not tree types. |
|
2904 |
|
2905 * src/tree-expr.h (tree_matrix): Derive from tree_expression, not tree. |
|
2906 |
|
2907 * src/tree-expr.h (tree_builtin, tree_function, tree_identifier): |
|
2908 Derive from tree_fvc, not tree. |
|
2909 * src/tree-const.h (class tree_constant): Likewise. |
|
2910 |
|
2911 * src/tree-expr.h (is_identifier, is_index_expression, |
|
2912 is_assignment_expression, is_prefix_expression, |
|
2913 mark_for_possible_ans_assign, eval (with args)): Declare in |
|
2914 tree_expression class, not tree class. |
|
2915 |
|
2916 * src/tree-expr.h (tree_fvc): New class, derived from |
|
2917 tree_expression, to provide a connection between functions, |
|
2918 variables, and constants. |
|
2919 (is_constant, assign, name, bump_value, max_expected_args, |
|
2920 fcn_file_name, time_parsed, is_system_fcn_file, save): Declare |
|
2921 in tree_fvc class, not in tree class. |
|
2922 |
|
2923 * src/tree.h: Simply include tree-expr.h and tree-cmd.h. |
|
2924 * src/tree-expr.h, tree-expr.cc: New files, extracted from tree.h |
|
2925 and tree.cc for classes derived from tree_expression, plus some |
|
2926 helper classes. |
|
2927 * src/tree-cmd.h, tree-cmd.cc: Likewise, for classes derived from |
|
2928 tree_command. |
|
2929 |
|
2930 * src/tree.cc (eval (int, int)): Merge with eval (int, |
|
2931 tree_constant*, int, int) by rearranging order of args and using |
|
2932 default arg values. Change all callers. |
|
2933 |
|
2934 Tue Jul 5 14:33:33 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2935 |
|
2936 * doc/Makefile.in (refcard.dvi): Run TeX on $(srcdir)/refcard.tex, |
|
2937 not just refcard.tex. |
|
2938 (refcard-local.tex): Likewise, for the local version. |
|
2939 |
|
2940 * src/tree-const.cc (tree_constant_rep::do_index): Check for empty |
|
2941 matrix here. |
|
2942 (tree_constant_rep::do_vector_index) Not here. |
|
2943 |
|
2944 Thu Jun 30 09:41:03 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2945 |
|
2946 * src/g-builtins.cc (builtin_shell_command): Only take one |
|
2947 argument and return [status, output]. |
|
2948 * src/procstream.cc (procstreambase::close): Return process exit |
|
2949 status. |
|
2950 |
|
2951 * src/tree.cc (tree_builtin::eval (int)): Handle new style of |
|
2952 calling text functions. |
|
2953 (tree_builtin::eval (int, int): Likewise. |
|
2954 (tree_builtin::eval (tree_constant*, int, int, int): Likewise. |
|
2955 (tree_identifier::eval (tree_constant*, int, int, int)): Don't |
|
2956 count the output arguments that we create automatically (ans) when |
|
2957 figuring nargout. |
|
2958 (tree_identifier::eval (int)): Likewise. |
|
2959 |
|
2960 * src/tree-const.cc: Delete text-style eval() functions. |
|
2961 * src/tree.cc: Ditto. |
|
2962 |
|
2963 * src/tree-const.h: Change typedef of Text_fcn to return a pointer |
|
2964 to a tree_constant, and to include the number of output arguments |
|
2965 in the parameter list. |
|
2966 * src/t-builtins.h: Change declarations of all builtin text-style |
|
2967 functions to match. |
|
2968 * src/t-builtins.cc: Change definitions too. |
|
2969 |
|
2970 * src/parse.y (word_list): Build an argument_list, not a word_list. |
|
2971 (word_list_command): Create an index_expression, not a |
|
2972 word_list_command. |
|
2973 * src/tree.cc (tree_word_list): Delete unneeded class. |
|
2974 (tree_word_list_command): Likewise. |
|
2975 |
|
2976 * src/tc-extras.cc (get_dimensions): For one-arg version, expect |
|
2977 2-element vector or scalar specifying dimensions. Don't simply |
|
2978 use the dimensions of a matrix arg. |
|
2979 |
|
2980 Wed Jun 29 09:52:15 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2981 |
|
2982 * src/f-det.cc (determinant): Return 0 if matrix is singular to |
|
2983 machine precision. |
|
2984 |
|
2985 * liboctave/dMatrix.cc (Matrix::inverse): Declare rcond as |
|
2986 volatile to prevent optimization of the expression |
|
2987 `rcond + 1.0 == 1.0'. |
|
2988 (Matrix::determinant): Ditto. |
|
2989 (Matrix::solve): Ditto. |
|
2990 * liboctave/CMatrix.cc (ComplexMatrix::inverse): Ditto. |
|
2991 (ComplexMatrix::determinant): Ditto. |
|
2992 (ComplexMatrix::solve): Ditto. |
|
2993 |
|
2994 Tue Jun 28 10:53:31 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
2995 |
|
2996 * src/utils.cc (default_info_file): Add directory separator when |
|
2997 appending "octave.info". |
|
2998 |
|
2999 * src/tree-plot.cc (plot_line_count): Make global. |
|
3000 * src/utils.cc (send_to_plot_stream): If the plot stream is not |
|
3001 open, set plot_line_count to zero. |
|
3002 (close_plot_stream): Likewise, set it to zero when closing the |
|
3003 stream. |
|
3004 |
|
3005 * src/parse.y (plot_command): Allow replot without args. |
|
3006 |
|
3007 * src/tree-plot.cc (clear_before_plotting): New global variable. |
|
3008 (tree_plot_command::eval): Use it to handle hold on/off. |
|
3009 * src/t-builtins.cc (builtin_hold): New function. |
|
3010 * src/builtins.cc (text_functions): Add it to the list. |
|
3011 |
|
3012 Fri Jun 24 11:08:36 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3013 |
|
3014 * src/token.h (plot_tok_type): Add new field, replot. |
|
3015 * src/lex.l (is_keyword): Handle replot here. |
|
3016 * src/parse.y (plot_command): And here. |
|
3017 * src/g-builtins.cc (builtin_replot): Not here. |
|
3018 * src/builtins.cc (general_functions): Or here. |
|
3019 |
|
3020 Tue Jun 21 10:47:08 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3021 |
|
3022 * src/g-builtins.cc (builtin_kbhit): New function. |
|
3023 * src/builtins.cc (general_functions): Add it to the list. |
|
3024 |
|
3025 * src/tree-const.cc (tree_constant_rep::rows (void)): For strings |
|
3026 and ranges, only return 1 if the string or range is not empty. |
|
3027 |
|
3028 Thu Jun 9 20:42:06 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3029 |
|
3030 * src/tree.cc (tree_builtin::eval (int)): Delete ancient code that |
|
3031 eval()'d the return value. |
|
3032 (tree_builtin::eval (int, int)): Likewise. |
|
3033 (tree_builtin::eval (int, char**, int)): Likewise. |
|
3034 (tree_builtin::eval (tree_constant*, int, int, int)): Likewise. |
|
3035 (tree_function::eval (tree_constant*, int, int, int)): Likewise. |
|
3036 (tree_colon_expression::eval (int)): Likewise. |
|
3037 (tree_unary_expression::eval (int)): Likewise. |
|
3038 (tree_binary_expression::eval (int)): Likewise. |
|
3039 |
|
3040 Mon Jun 6 03:48:32 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3041 |
|
3042 * src/file-io.cc (fread_internal): Make it work. |
|
3043 (fwrite_internal): Likewise. |
|
3044 (num_items_remaining): Renamed from get_whats_left(). Don't pass |
|
3045 nr/nc as last arg, simply return the number of items of size that |
|
3046 are left to read. |
|
3047 (get_size_conv): Delete unnecessary function. |
|
3048 * liboctave/dMatrix.cc (Matrix::read): Make it work. |
|
3049 (Matrix::write): Likewise. |
|
3050 * liboctave/dMatrix.h (conversion): Delete unecessary enum. |
|
3051 |
|
3052 * src/sysdep.cc: Include <math.h>. |
|
3053 (octave_ieee_init): Cast return value of infinity() and |
|
3054 quiet_nan() to double. |
|
3055 |
|
3056 Sun Jun 5 14:35:32 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3057 |
|
3058 * Makeconf.in (getversion): Get everything between the double |
|
3059 quotes, not just numbers and periods. |
|
3060 |
|
3061 * src/tree-const.cc (tree_constant_rep::do_scalar_assignment): Correct |
|
3062 typo in last change. |
|
3063 |
|
3064 * src/parse.y: Include tree-plot.h and tree-const.h. |
|
3065 |
|
3066 * src/Makefile.in (SOURCES): Delete tc-assign.cc and tc-index.cc |
|
3067 (INCLUDES): Add tree-plot.h. |
|
3068 |
|
3069 * src/tree-plot.h: New file. Declare plotting classes here. |
|
3070 * src/tree.h: Not here. |
|
3071 |
|
3072 * src/tc-index.cc, tc-assign.cc: Delete unnecessary files. |
|
3073 |
|
3074 * src/tc-extras.cc: Include EIG.h |
|
3075 |
|
3076 * src/tree-const.cc (tree_constant_rep::tree_constant_rep (RowVector&, |
|
3077 int)): Provide default value for int arg. |
|
3078 (tree_constant_rep::tree_constant_rep (ColumnwVector&, int)): Ditto |
|
3079 (tree_constant_rep::tree_constant_rep (ComplexRowVector&, int)): Ditto |
|
3080 (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&, int)): |
|
3081 Ditto. |
|
3082 (tree_constant_rep::tree_constant_rep (RowVector&)): Delete, now |
|
3083 handled by corresponding two arg constructor. |
|
3084 (tree_constant_rep::tree_constant_rep (ColumnwVector&)): Likewise. |
|
3085 (tree_constant_rep::tree_constant_rep (ComplexRowVector&)): Likewise. |
|
3086 (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&)): |
|
3087 Likewise. |
|
3088 |
|
3089 * src/tree-const.cc: Add pragma implementation. Merge in contents of |
|
3090 tc-index.cc and tc-assign.cc so that the pragma interface/pragma |
|
3091 implementation hack will do some good. |
|
3092 * src/tree-const.h: Include mx-base.h, not Matrix.h. Add pragma |
|
3093 interface. Delete unnecessary constructor declarations. |
|
3094 |
|
3095 * src/unwind-prot.h, src/unwind-prot.cc (unwind_elem_tag): Rename |
|
3096 from _tag. |
|
3097 (unwind_elem_fptr): Rename from _fptr. |
|
3098 (unwind_elem_ptr): Rename from _ptr. |
|
3099 |
|
3100 * NLConst.cc (NLConst::NLConst): Pass vector args by reference. |
|
3101 |
|
3102 * src/procstream.h, src/procstream.cc, src/idx-vector.h, |
|
3103 src/idx-vector.cc, src/token.h, src/token.cc, src/unwind-prot.h, |
|
3104 src/unwind-prot.cc, src/symtab.h, src/symtab.cc, src/tree.h, |
|
3105 src/tree.cc, liboctave/Range.h, liboctave/Range.cc, |
|
3106 liboctave/QLD.h, liboctave/QLD.cc, liboctave/ODE.h, |
|
3107 liboctave/ODE.cc, liboctave/Quad.h, liboctave/Quad.cc, |
|
3108 liboctave/Objective.h, liboctave/Objective.cc, liboctave/NPSOL.h, |
|
3109 liboctave/NPSOl.cc, liboctave/NLFunc.h, liboctave/NLFunc.cc, |
|
3110 liboctave/Bounds.h, liboctave/Bounds.cc, liboctave/QP.h, |
|
3111 liboctave/QP.cc, liboctave/NLConst.cc, liboctave/LinConst.cc, |
|
3112 liboctave/LPsolve.cc, liboctave/LP.cc, liboctave/FSQP.cc, |
|
3113 liboctave/FEGrid.cc, liboctave/QPSOL.cc, liboctave/CollocWt.cc, |
|
3114 liboctave/DAEFunc.cc, liboctave/DAEFunc.h, liboctave/DAE.cc, |
|
3115 liboctave/NLEqn.cc, liboctave/ODEFunc.cc, liboctave/QPSOL.h, |
|
3116 liboctave/ODEFunc.h, liboctave/NLP.h, liboctave/NLEqn.h, |
|
3117 liboctave/NLConst.h, liboctave/LinConst.h, liboctave/LPsolve.h, |
|
3118 liboctave/LP.h, liboctave/FSQP.h, liboctave/FEGrid.h, |
|
3119 liboctave/DAE.h, liboctave/CollocWt.h: |
|
3120 Add pragma interface/implementation. |
|
3121 |
|
3122 * src/f-svd.cc, src/f-schur.cc, src/f-qr.cc, src/f-lu.cc, |
|
3123 src/f-hess.cc, src/f-det.cc, src/f-chol.cc, src/f-qzval.cc, |
|
3124 src/f-inv.cc, src/f-ifft.cc, src/f-givens.cc, src/f-fft.cc, |
|
3125 src/f-balance.cc, src/f-expm.cc, src/f-fsqp.cc, src/f-syl.cc, |
|
3126 src/xdiv.cc, src/xpow.cc, src/idx-vector.cc, src/pr-output.cc, |
|
3127 src/unwind-prot.cc, src/file-io.cc, liboctave/Bounds.h, |
|
3128 liboctave/CollocWt.h, liboctave/DAE.h, liboctave/EIG.h, |
|
3129 liboctave/FEGrid.h, liboctave/LP.h, liboctave/LPsolve.cc, |
|
3130 liboctave/LinConst.h, liboctave/NLEqn.cc, liboctave/NLEqn.h, |
|
3131 liboctave/NLP.h, liboctave/NPSOL.cc, liboctave/NPSOL.h, |
|
3132 liboctave/ODE.h, liboctave/Objective.h, liboctave/QLD.cc, |
|
3133 liboctave/QP.h, liboctave/QPSOL.h, liboctave/Quad.h: |
|
3134 Instead of including Matrix.h, only include the individual |
|
3135 matrix/vector/etc. header files that are needed. |
|
3136 |
|
3137 * liboctave/QLD.cc, liboctave/ODE.cc, liboctave/NLFunc.cc, |
|
3138 liboctave/DAEFunc.cc, liboctave/DAE.cc, liboctave/NLEqn.cc, |
|
3139 liboctave/ODEFunc.cc: |
|
3140 Use 0, not NULL. |
|
3141 |
|
3142 * liboctave/mx-inlines.cc: Include Complex.h. |
|
3143 |
|
3144 * liboctave/mx-kludge.h: Don't enclose contents in extern "C++". |
|
3145 |
|
3146 * liboctave/Matrix.h: Simply include mx-base.h and mx-ext.h. |
|
3147 |
|
3148 * liboctave/mx-base.h: New file, includes all basic matrix/vector |
|
3149 header files. |
|
3150 * liboctave/mx-ext.h: New file, includes all extra matrix/vector |
|
3151 related header files. |
|
3152 * liboctave/mx-defs.h: New file, for matrix/vector related |
|
3153 defines. Also provides forward declarations for all matrix/vector |
|
3154 classes. |
|
3155 |
|
3156 * liboctave/Makefile.in: Cope with new files. |
|
3157 |
|
3158 * liboctave/CmplxAEPBAL.cc, liboctave/CmplxDET.h, |
|
3159 liboctave/CmplxQR.cc, liboctave/CmplxSVD.h, liboctave/dbleDET.cc, |
|
3160 liboctave/dbleHESS.h, liboctave/dbleSCHUR.cc, |
|
3161 liboctave/CmplxAEPBAL.h, liboctave/CmplxHESS.cc, |
|
3162 liboctave/CmplxQR.h, liboctave/dbleAEPBAL.cc, liboctave/dbleDET.h, |
|
3163 liboctave/dbleLU.cc, liboctave/dbleSCHUR.h, |
|
3164 liboctave/CmplxCHOL.cc, liboctave/CmplxHESS.h, |
|
3165 liboctave/CmplxSCHUR.cc, liboctave/dbleAEPBAL.h, |
|
3166 liboctave/dbleGEPBAL.cc, liboctave/dbleLU.h, liboctave/dbleSVD.cc, |
|
3167 liboctave/CmplxCHOL.h, liboctave/CmplxLU.cc, |
|
3168 liboctave/CmplxSCHUR.h, liboctave/dbleCHOL.cc |
|
3169 liboctave/dbleGEPBAL.h, liboctave/dbleQR.cc, liboctave/dbleSVD.h, |
|
3170 liboctave/CmplxDET.cc, liboctave/CmplxLU.h, liboctave/CmplxSVD.cc, |
|
3171 liboctave/dbleCHOL.h, liboctave/dbleHESS.cc, liboctave/dbleQR.h, |
|
3172 liboctave/EIG.h, liboctave/EIG.cc: |
|
3173 New files, extracted from Matrix-ext.cc, in an attempt to allow |
|
3174 effective use of pragma interface/implementation and make |
|
3175 generated code somewhat smaller. |
|
3176 * liboctave/dColVector.cc liboctave/CColVector.cc: Likewise, from |
|
3177 ColVector.{cc,h}. |
|
3178 * liboctave/dRowVector.cc liboctave/CRowVector.cc: Likewise, from |
|
3179 RowVector.{cc,h}. |
|
3180 * liboctave/dMatrix.cc liboctave/CMatrix.cc: Likewise, from |
|
3181 Matrix.{cc,h}. |
|
3182 * liboctave/dDiagMatrix.cc liboctave/CDiagMatrix.cc: Likewise, |
|
3183 from DiagMatrix.{cc,h}. |
|
3184 |
|
3185 Fri Jun 3 15:32:53 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3186 |
|
3187 * liboctave/Array.h: Include assert.h. |
|
3188 (DiagArray<T>::operator T ()): [! _AIX] Only call get() if i is |
|
3189 also equal to j. |
|
3190 |
|
3191 * scripts/rem.m: Allow mixing of scalar/matrix args, but complain |
|
3192 if both args are matrices and the dimensions don't agree. |
|
3193 |
|
3194 * src/lex.l (grab_help_text): Correct previous change. |
|
3195 |
|
3196 Thu Jun 2 12:08:18 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3197 |
|
3198 * Matrix.h (conversion): New enum, for binary read/write |
|
3199 functions. |
|
3200 * Matrix.cc (read, write) New functions. |
|
3201 * file-io.cc (feof_internal, ferror_internal, fread_internal, |
|
3202 fwrite_internal, get_size_conv, get_whats_left): New functions. |
|
3203 * g-builtins.cc (builtin_feof, builtin_ferror, builtin_fread, |
|
3204 builtin_fwrite): New functions. |
|
3205 * builtins.cc (general_functions): Add them to the list. |
|
3206 |
|
3207 * configure.in: Check for infinity() and quiet_nan(). |
|
3208 * sysdep.h (octave_Inf, octave_NaN): New global variables. |
|
3209 * sysdep.cc (octave_ieee_init): New function. Initialize |
|
3210 octave_Inf and octave_NaN. |
|
3211 (sysdep_init): Call it. |
|
3212 * builtins.cc (initialize_builtins): Don't compute Inf and NaN |
|
3213 values here. |
|
3214 |
|
3215 Tue May 31 20:06:27 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3216 |
|
3217 * src/variables.cc (identifier_exists): Only return 1 for |
|
3218 variables if they are also defined. |
|
3219 |
|
3220 Sun May 29 20:40:55 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3221 |
|
3222 * src/lex.l: Don't declare beginning_of_function as static. |
|
3223 (COMMENT): Delete unnecessary exclusive start state. |
|
3224 (\#, \%): Handle comments directly. Try to be smart about not |
|
3225 returning a newline character when reading a matrix list. |
|
3226 (grab_help_text): Don't put a newline back on the input stream. |
|
3227 * src/parse.y (list1): Set beginning_of_function to zero here. |
|
3228 |
|
3229 Wed May 25 03:34:17 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3230 |
|
3231 * src/error.cc (error): If error_state is -2, don't do anything. |
|
3232 If the format string ends in a new line character, strip it, print |
|
3233 the error message, and set the error state to -2. |
|
3234 * src/tree.cc (tree_function::traceback_error): Don't set the |
|
3235 error_state if it is already negative. |
|
3236 |
|
3237 * src/tree-const.cc (convert_to_row_or_column_vector): New function. |
|
3238 * src/idx-vector.cc (idx_vector::shorten): New function. |
|
3239 * src/tc-assign.cc (fortran_style_matrix_assignment |
|
3240 (tree_constant&, tree_constant&)): Handle deleting elements by |
|
3241 assignment of `[]'. Use convert_to_row_or_column_vector to handle |
|
3242 conversion to a vector in the case of deleting some elements from |
|
3243 a matrix. Use idx_vector::shorten() to remove unnecessary index |
|
3244 vector elements. |
|
3245 (do_scalar_assignment (tree_constant&, tree_constant*, int)): |
|
3246 Handle assignment of empty matrix. |
|
3247 If converting complex to real, delete old complex value. |
|
3248 (delete_rows (idx_vector&)): If deleting all rows of a column |
|
3249 vector, convert to empty matrix. |
|
3250 (delete_rows (Range&)): Ditto. |
|
3251 (delete_columns (idx_vector&)): If deleting all columns of a row |
|
3252 vector, convert to empty matrix. |
|
3253 (delete_columns (Range&)): Ditto. |
|
3254 |
|
3255 * src/tc-extras.cc (column_max (tree_constant*, int, int)): |
|
3256 Use MAX, not MIN when trying to find the biggest scalar. |
|
3257 Likewise, find the complex scalar with the largest, not the |
|
3258 smallest absolute value. |
|
3259 |
|
3260 * src/tc-assign.cc (do_matrix_assignment (tree_constant&, |
|
3261 tree_constant_rep::constant_type, tree_constant&): For case of |
|
3262 j_arg == matrix constant, don't negate return value of |
|
3263 indexed_assign_conforms(). |
|
3264 |
|
3265 * src/user-prefs.cc (commas_in_literal_matrix): New function. |
|
3266 Put functions in alphabetical order. |
|
3267 * src/user-prefs.h (commas_in_literal_matrix): New structure element. |
|
3268 Alphabetize structure elements and lists of functions. |
|
3269 * src/builtins.cc (string_variables): Add commas_in_literal_matrix |
|
3270 to the list. |
|
3271 * src/lex.l (<MATRIX>{SN}*\]{S}*): Pay attention to the value of |
|
3272 usre_pref.commas_in_literal_matrix when deciding whether to insert |
|
3273 a comma after seeing a ']' character. |
|
3274 (handle_identifier): Likewise. |
|
3275 (<MATRIX>{S}+): If commas are required, just eat the spaces. |
|
3276 |
|
3277 Tue May 24 19:49:51 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3278 |
|
3279 * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment |
|
3280 (tree_constant&, tree_constant*, int)): Handle empty arguments |
|
3281 for two index values. |
|
3282 (tree_constant_rep::do_matrix_assignment |
|
3283 (tree_constant&, tree_constant&)): |
|
3284 Likewise, for single index values. |
|
3285 |
|
3286 Mon May 23 01:43:23 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3287 |
|
3288 * Makefile.in (snapshot, snapshot-version): New targets. |
|
3289 |
|
3290 * configure.in: Handle --enable-run-in-place (was easier than |
|
3291 doing the work to parse --run-in-place like Emacs uses). |
|
3292 |
|
3293 * acconfig.h: Add #undef for RUN_IN_PLACE. |
|
3294 |
|
3295 * Makeconf.in (OCTAVE_HOME): New macro. |
|
3296 * src/Makefile.in (defaults.h): Use it instead of ${prefix}. |
|
3297 |
|
3298 * Makeconf.in (OCTAVE_INFO_DIR, OCTAVE_LIB_DIR): New macros. |
|
3299 * src/Makefile.in (defaults.h): Substitute them too. |
|
3300 |
|
3301 * src/defaults.h.in (OCTAVE_INFO_DIR): New macro, used if |
|
3302 RUN_IN_PLACE is defined. |
|
3303 (OCTAVE_LIB_DIR): Likewise. |
|
3304 |
|
3305 * src/utils.cc (octave_home): Handle RUN_IN_PLACE |
|
3306 (octave_info_dir): Ditto. |
|
3307 (octave_lib_dir): Ditto. |
|
3308 |
|
3309 * src/tree-const.cc (tree_constant_rep::diag (void)): For empty |
|
3310 matrix, return empty matrix. |
|
3311 (tree_constant_rep::diag (tree_constant &)): Likewise, regardless |
|
3312 of value of arg. |
|
3313 |
|
3314 * scripts/int2str.m: Format as integer, not float. |
|
3315 Don't add trailing new line character. |
|
3316 |
|
3317 Sun May 22 22:13:01 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3318 |
|
3319 * scripts/plot_int.m: When looking for imaginary arguments, check |
|
3320 if any element has an imaginary component, not if all elements |
|
3321 have imaginary components. |
|
3322 |
|
3323 Thu May 19 19:46:23 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3324 |
|
3325 * src/parse.y (EXPR_AND_AND, EXPR_OR_OR): New tokens, for |
|
3326 short-circuit logical AND and OR operators. |
|
3327 (simple_expression): Handle new tokens. |
|
3328 * src/lex.l (&&) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_AND_AND. |
|
3329 (||) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_OR_OR. |
|
3330 * src/tree.cc (tree_binary_expression::eval): Handle short-circuit |
|
3331 boolean operators. |
|
3332 (tree_binary_expression::eval_error): Print different messages for |
|
3333 or_or/or and and_and/and. |
|
3334 * src/tree-base.h (tree_expression_type): Add new structure |
|
3335 elements and_and and or_or. |
|
3336 * src/tree-const.cc (tree_constant_rep::is_true): New function. |
|
3337 |
|
3338 Tue May 17 17:04:00 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3339 |
|
3340 * src/idx-vector.cc (idx_vector::sort_uniq ()): New function. |
|
3341 * src/tc-assign.cc (tree_constant_rep::delete_rows ()): Use it. |
|
3342 (tree_constant_rep::delete_columns ()): Likewise. |
|
3343 |
|
3344 Mon May 16 13:31:33 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3345 |
|
3346 * scripts/linspace.m: Replace for loop with range operation. |
|
3347 * scripts/logspace.m: Replace for loop with element by element |
|
3348 exponentiation. |
|
3349 |
|
3350 Sun May 8 00:49:38 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3351 |
|
3352 * scripts/lqe.m: Correct comment. |
|
3353 Transpose k before returning. |
|
3354 |
|
3355 Fri May 6 00:47:24 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3356 |
|
3357 * src/tree.cc (quit_loop_now): New function. |
|
3358 (tree_while_command::eval): Use it. |
|
3359 (tree_for_command::eval): Ditto. |
|
3360 |
|
3361 * src/tree.cc (tree_for_command::do_for_loop_once): New function. |
|
3362 (tree_for_command::eval): Use it. |
|
3363 |
|
3364 Mon May 2 19:45:39 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3365 |
|
3366 * src/tree.cc (tree_for_command::eval): Handle returning, |
|
3367 breaking, and continuing for case of scalar expression in loop |
|
3368 control statement. |
|
3369 |
|
3370 Wed Apr 20 00:38:26 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3371 |
|
3372 * src/lex.l (\[{S}*): Don't return ',' for this match when |
|
3373 convert_spaces_to_comma is true, since that can never be the right |
|
3374 thing to do. |
|
3375 |
|
3376 * All Makefile.in files: Set top_srcdir here. |
|
3377 * Makeconf.in: Not here. |
|
3378 |
|
3379 * Makeconf.in: Use top_srcdir instead of root_srcdir |
|
3380 |
|
3381 * configure.in: Update for autoconf-1.8. Use AC_VERBOSE for |
|
3382 verbose messages. Use AC_WARN and AC_ERROR instead of echo for |
|
3383 warning and error messages. Organize feature tests a bit better. |
|
3384 Use new autoconf macros to check for C++ compiler. Add copyright |
|
3385 notice. Recognize --enable-dld instead of --with-dld since that |
|
3386 seems to be more in line with the intent of the --enable/--with |
|
3387 options for configure scripts. Use new autoconf macros |
|
3388 AC_REVISION and AC_PREREQ. Don't add -Wall to CFLAGS and CXXFLAGS |
|
3389 until after all feature tests are done. Etc. |
|
3390 |
|
3391 Fri Apr 15 01:56:20 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3392 |
|
3393 * acconfig.h: Add #undefs for HAVE_FINITE, HAVE_ISINF, and |
|
3394 HAVE_ISNAN. |
|
3395 * configure.in: Check for floatingpoint.h. |
|
3396 * src/sysdep.cc (sysdep_init): Disable trapping on common |
|
3397 exceptions for 386BSD systems that have floatingpoint.h. |
|
3398 |
|
3399 * src/utils.cc: Don't declare ioctl() with prototype. |
|
3400 |
|
3401 Sat Apr 9 17:48:07 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3402 |
|
3403 * src/tc-assign.cc (tree_constant_rep::fortran_style_matrix_assignment |
|
3404 (tree_constant&, tree_constant&)): |
|
3405 Handle case of M (X) = scalar, where X is a zero-one vector with |
|
3406 only one nonzero element. |
|
3407 |
|
3408 * src/tc-assign.cc (tree_constant_rep::do_vector_assign |
|
3409 (tree_constant&, Range&): |
|
3410 Handle case of right hand side being a scalar. |
|
3411 (tree_constant_rep::do_vector_assign (tree_constant&, idx_vector&): |
|
3412 Ditto. |
|
3413 |
|
3414 * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment |
|
3415 (int,tree_constant_rep::constant_type)): |
|
3416 Allow assignment of complex scalar too. |
|
3417 (tree_constant_rep::do_matrix_assignment |
|
3418 (tree_constant_rep::constant_type, int)): |
|
3419 Ditto. |
|
3420 |
|
3421 * src/tree-const.h (REP_RHS_MATRIX): Initialize nr and nc. |
|
3422 Abort if rhs is not a real or complex matrix. |
|
3423 |
|
3424 Wed Apr 6 13:59:37 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3425 |
|
3426 * liboctave/Range.cc (Range::nelem_internal): Use an integer, not |
|
3427 a double, for the number of intervals. Avoid possible problems |
|
3428 with extended precision registers on some systems (e.g. x86/Linux). |
|
3429 |
|
3430 Mon Mar 28 17:23:18 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3431 |
|
3432 * src/utils.cc (raw_mode): For OCRNL, ONOCR, and ONLRET, check to |
|
3433 see if they are defined before using them instead of checking to |
|
3434 see if NeXT is defined. |
|
3435 |
|
3436 * info/terminal.c (terminal_prep_terminal): Check to see if OCRNL |
|
3437 is defined before using it instead of checking to see if NeXT is |
|
3438 defined. |
|
3439 |
|
3440 Thu Mar 24 03:21:01 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3441 |
|
3442 * src/tree.cc (tree_parameter_list::define_from_arg_vector): |
|
3443 New function. |
|
3444 (tree_parameter_list::convert_to_const_vector): Ditto. |
|
3445 (tree_function::eval): Use them instead of trying to do this |
|
3446 in-line. |
|
3447 |
|
3448 * src/symtab.h (symbol_record::global_link_context): New stack for |
|
3449 saving linked_to_global flag. |
|
3450 * src/symtab.cc (symbol_record::push_context): Save |
|
3451 linked_to_global too. |
|
3452 (symbol_record::pop_context): And restore it. |
|
3453 |
|
3454 Wed Mar 23 16:18:19 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3455 |
|
3456 * doc/refcard.tex.in: New file. |
|
3457 * doc/Makefile.in: Create refcard.* and refcard-local.* from |
|
3458 refcard.tex.in. |
|
3459 |
|
3460 Tue Mar 22 15:23:55 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3461 |
|
3462 * octave.sh: exec $OCTAVE_HOME/bin/octave.bin, not just |
|
3463 octave.bin. |
|
3464 |
|
3465 Thu Mar 17 01:06:10 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3466 |
|
3467 * src/arith-ops.cc (do_binary_op (ComplexMatrix&, Matrix& b)): |
|
3468 Correctly handle element by element left division. |
|
3469 |
|
3470 * src/g-builtins.cc (builtin_error): Return without calling error |
|
3471 (and setting error_state) if the message is empty. |
|
3472 |
|
3473 * src/help.cc (operators): Correct help message for `.^'. |
|
3474 |
|
3475 * src/tc-index.cc (tree_contant_rep::fortran_style_matrix_index): |
|
3476 Preserve vector orientation when indexing with a zero-one vector. |
|
3477 |
|
3478 * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle |
|
3479 indexing a scalar with `0'. |
|
3480 |
|
3481 * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle the |
|
3482 index `:' the same as the index `1'. |
|
3483 |
|
3484 Tue Mar 15 17:22:00 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3485 |
|
3486 * liboctave/Array.cc: Fix typo in comments about compiler flags. |
|
3487 |
|
3488 Wed Mar 9 15:08:21 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3489 |
|
3490 * Version 1.0.1. |
|
3491 |
|
3492 * src/*.h: Use the macro octave_FOO_h instead of _FOO_h to protect |
|
3493 against multiple inclusion. |
|
3494 * liboctave/*.h: Likewise. |
|
3495 |
|
3496 * liboctave/*.h: Surround contents of files in extern "C++" { }. |
|
3497 |
|
3498 Tue Mar 8 18:06:54 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3499 |
|
3500 * src/tc-index.cc (tree_constant_rep::do_vector_index (const |
|
3501 tree_constant&) const): Don't crash if matrix is empty. |
|
3502 |
|
3503 * scripts/norm.m: Return empty matrix for empty argument. |
|
3504 |
|
3505 Mon Mar 7 23:34:44 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3506 |
|
3507 * doinstall.sh: chmod new directories to 755. |
|
3508 |
|
3509 Sat Mar 5 13:15:10 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3510 |
|
3511 * bsd-math/log1p.c: Declare finite as returning int, not double. |
|
3512 * bsd-math/finite.c (finite): Add return type. |
|
3513 |
|
3514 Thu Mar 3 14:42:00 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3515 |
|
3516 * liboctave/DiagMatrix.cc (operator *): Provide definitions for |
|
3517 DiagMatrix * DiagMatrix, ComplexDiagMatrix * ComplexDiagMatrix, |
|
3518 ComplexDiagMatrix * DiagMatrix, and DiagMatrix * ComplexDiagMatrix. |
|
3519 |
|
3520 * liboctave/ColVector.cc (operator >>): Provide definitions for |
|
3521 real and complex column vectors. |
|
3522 |
|
3523 * liboctave/RowVector.cc (operator >>): Provide definitions for |
|
3524 real and complex row vectors. |
|
3525 |
|
3526 Wed Mar 2 18:00:47 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3527 |
|
3528 * liboctave/Array.h (DiagArray::Proxy::operator & ()): Provide |
|
3529 function body. |
|
3530 |
|
3531 Tue Mar 1 13:18:35 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3532 |
|
3533 * src/tree-const.cc (tree_constant::load (istream&)): Don't skip |
|
3534 past first type keyword if not global. |
|
3535 (tree_constant::load (istream&, tree_constant_rep::constant_type)): |
|
3536 Allocate storage for reading complex scalar. |
|
3537 |
|
3538 Sun Feb 20 14:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3539 |
|
3540 * scripts/menu.m: Don't fail on input that is empty or not a |
|
3541 scalar. |
|
3542 |
|
3543 * Makefile.in (DISTFILES): Distribute ChangeLog.[0-9]. |
|
3544 |
|
3545 * src/lex.l (reset_parser): Don't resynch line number to command |
|
3546 history number if reading a script file. |
|
3547 |
|
3548 Thu Feb 17 01:36:19 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3549 |
|
3550 * Version 1.0 released. |
|
3551 |
|
3552 * src/file-io.cc (fopen_file_for_user): Improve error message. |
|
3553 (fopen_internal): Likewise. |
|
3554 |
|
3555 Wed Feb 16 02:21:05 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3556 |
|
3557 * configure.in: Try harder to find finite, isnan, and isinf. |
|
3558 Use m4 `dnl' comments, not shell `#' comments. |
|
3559 |
|
3560 * src/file-io.cc (file_io_get_file): New function. |
|
3561 (fgets_internal): Use it instead of trying to do this in line. |
|
3562 (frewind_internal, fseek_internal, ftell_internal, do_printf, |
|
3563 do_scanf): Likewise. |
|
3564 * (do_scanf): Allow file name as string for fscanf. |
|
3565 * (procss_scanf_format): Delete unused argument `args'. Delete |
|
3566 unused local variable `arg_type'. Don't complain if we can't |
|
3567 store the result of a requested conversion. Only return |
|
3568 successfully if a conversion actually occurs, even if we are not |
|
3569 storing the value. |
|
3570 |
|
3571 Sun Feb 13 13:32:03 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3572 |
|
3573 * Version 0.83 released. |
|
3574 |
|
3575 * Array.h (DiagArray): Move inline definitions of get() and set() |
|
3576 before use by other inline functions. |
|
3577 |
|
3578 Sat Feb 12 14:15:45 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3579 |
|
3580 * configure.in: Check for g77 last. Even if it is ever actually |
|
3581 released, it probably won't be stable for quite a while. |
|
3582 |
|
3583 * MAKEINFO.PATCH: New file. |
|
3584 * Makefile.in (DISTFILES): Distribute it. |
|
3585 |
|
3586 * liboctave/Matrix.cc (operator + (Complex, const Matrix&)): |
|
3587 Make it work. |
|
3588 (operator - (Complex, const Matrix&)): Ditto. |
|
3589 (operator * (Complex, const Matrix&)): Ditto. |
|
3590 (operator / (Complex, const Matrix&)): Ditto. |
|
3591 |
|
3592 Fri Feb 11 00:03:39 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3593 |
|
3594 * configure.in: Check for strerror too. |
|
3595 |
|
3596 * configure.in: When saving CFLAGS as XCFLAGS and then restoring |
|
3597 the value, quote the RHS. |
|
3598 |
|
3599 * src/g-builtins.cc (builtin_clc): Do the dirty work to clear the |
|
3600 screen here instead of using rl_clear_screen to avoid printing |
|
3601 prompt unnecessarily. |
|
3602 |
|
3603 Thu Feb 10 00:26:32 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3604 |
|
3605 * src/utils.cc: Add all the cruft that the autoconf manual |
|
3606 suggests for including dirent.h. |
|
3607 |
|
3608 * info/terminal.c (terminal_prep_terminal): [HAVE_TERMIOS_H && |
|
3609 NeXT]: Don't use OCRNL, as someone says NeXT's termios.h doesn't |
|
3610 have it. |
|
3611 |
|
3612 * configure.in (GCC_IEEE_FP_FLAG): Correct check for ix86 Linux. |
|
3613 Don't try to check for CC == gcc. |
|
3614 Add GCC_IEEE_FP_FLAG to CFLAGS while checking for IEEE FP |
|
3615 functions finite, isnan, and isinf. |
|
3616 |
|
3617 * readline/rldefs.h: Make definition of HAVE_POSIX_SIGNALS |
|
3618 conditional on definition of _POSIX_VERSION, not HAVE_TERMIOS_H. |
|
3619 |
|
3620 Wed Feb 9 02:41:32 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3621 |
|
3622 * src/tree.cc (tree_function::octave_va_start): Rename from |
|
3623 va_start to avoid conflict with va_start macro. |
|
3624 (tree_function::octave_var_arg): Likewise, rename from va_arg. |
|
3625 * src/g-builtins.cc (builtin_va_arg): Call octave_va_arg for the |
|
3626 current function instead of va_arg. |
|
3627 (builtin_va_start): Likewise, for octave_va_start. |
|
3628 |
|
3629 * Version 0.82.1. |
|
3630 |
|
3631 * doc/Makefile.in (clean): Also remove octave.in, octave.rd, |
|
3632 octave.ins, and octave.rds. |
|
3633 |
|
3634 * src/t-builtins.cc (load_variable): Make it work for all |
|
3635 combinations of loading global or local variables when the |
|
3636 variable to be loaded is already a global variable, local |
|
3637 variable, a function, or even undefined. |
|
3638 |
|
3639 Tue Feb 8 00:33:09 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3640 |
|
3641 * Version 0.82 released. |
|
3642 |
|
3643 * liboctave/mx-kludge.cc (operator + (KL_MAT_TYPE, KL_MAT_TYPE)): |
|
3644 For an empty matrix with one nonzero dimension, be sure to return |
|
3645 a result of the same size. |
|
3646 (operator - (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. |
|
3647 (product (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. |
|
3648 (quotient (KL_MAT_TYPE, KL_MAT_TYPE)): Ditto. |
|
3649 |
|
3650 Mon Feb 7 01:30:19 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3651 |
|
3652 * liboctave/Array.h, liboctave/array.cc (DiagArray): Back off on |
|
3653 indexing via Proxy class changes for AIX systems to avoid gcc (or |
|
3654 possibly AIX assembler?) bug. |
|
3655 |
|
3656 * src/tree-const.cc (tree_constant_rep::maybe_resize (int, |
|
3657 force_orient)): Don't abort for a max index of zero. |
|
3658 |
|
3659 * liboctave/Matrix.h (class RowVector, friend double operator * |
|
3660 (const RowVector&, const ColumnVector&)): Add missing const in |
|
3661 declaration. |
|
3662 |
|
3663 * liboctave/Matrix.cc (Matrix::fill (val, r1, c1, r2, c2)): Set nc |
|
3664 to cols(), not rows(). |
|
3665 (ComplexMatrix::fill (double val, r1, c1, r2, c2)): Likewise. |
|
3666 (ComplexMatrix::fill (Complex val, r1, c1, r2, c2)): Likewise. |
|
3667 |
|
3668 * All source files: To match the documenation, refer to function |
|
3669 files, not M-files. Rename functions and variables that refer to |
|
3670 _m_file_, mfile, or mf to refer to _fcn_file, ffile, or ff. |
|
3671 |
|
3672 Sun Feb 6 19:08:26 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3673 |
|
3674 * src/parse.y (yyerror): Don't crash if a parse error happens and |
|
3675 the current input line is NULL. |
|
3676 |
|
3677 Sat Feb 5 18:53:04 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3678 |
|
3679 * src/file-io.cc (initialize_file_io): Don't use variable names |
|
3680 that start with `_'. |
|
3681 * src/file-io.cc (class file_info): Likewise. |
|
3682 |
|
3683 Fri Feb 4 01:15:59 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3684 |
|
3685 * src/builtins.cc (general_functions): In usage message for fopen, |
|
3686 use `Valid' instead of `Legal'. |
|
3687 |
|
3688 * src/file-io.cc (do_printf): Use `invalid' instead of `illegal' |
|
3689 in error message. |
|
3690 (do_scanf): Likewise. |
|
3691 |
|
3692 * src/mappers.cc (atanh): Use correct formula. |
|
3693 |
|
3694 Thu Feb 3 22:08:40 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3695 |
|
3696 * doc/refcard.tex: New file. |
|
3697 * doc/Makefile.in (all): Make refcard.ps. |
|
3698 (DISTFILES): Distribute refcard.tex, refcard.dvi, and refcard.ps. |
|
3699 |
|
3700 * src/tree-const.cc (any_element_is_negative): Delete function. |
|
3701 (any_element_less_than): New function. |
|
3702 (any_element_greater_than): Ditto. |
|
3703 (tree_constant_rep::mapper): Use struct elements lower_limit, |
|
3704 upper_limit, and can_return_complex_for_real_arg to properly |
|
3705 handle functions like acos, asin, atanh, and acosh. |
|
3706 |
|
3707 * src/builins.h (struct Mapper_fcn): Rename neg_arg_complex to |
|
3708 can_return_complex_for_real_arg. New elements, lower_limit and |
|
3709 upper_limit. |
|
3710 (struct builtin mappers functions): Rename neg_arg_complex to |
|
3711 can_return_complex_for_real_arg. New elements, lower_limit and |
|
3712 upper_limit. Delete elements nargin_max and nargout_max. |
|
3713 * src/variables.cc (install_builtin_mapper_function): Handle new |
|
3714 struct elements can_return_complex_for_real_arg, lower_limit, and |
|
3715 upper_limit. Don't use nargin_max and nargout_max -- they are |
|
3716 the same for all mapper functions. |
|
3717 |
|
3718 Wed Feb 2 05:06:56 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3719 |
|
3720 * liboctave/Matrix.h: Don't include values.h. |
|
3721 * liboctave/Matrix-ext.cc: Include float.h |
|
3722 (DET::value_will_overflow): Use DBL_MAX, not MAXDOUBLE. |
|
3723 (ComplexDET::value_will_overflow): Likewise. |
|
3724 (DET::value_will_underflow): Use DBL_MIN, not MINDOUBLE. |
|
3725 (ComplexDET::value_will_underflow): Likewise. |
|
3726 * src/tree.cc: Include limits.h, not values.h. |
|
3727 (tree_builtin::max_expected_args): Use INT_MAX, not MAXINT. |
|
3728 |
|
3729 * configure.in: If compiling on an ix86, set GCC_IEEE_FP_FLAG to |
|
3730 -mieee-fp. We should no longer require the modified crt0 code on |
|
3731 Linux systems in order to get IEEE functions. |
|
3732 * Makeconf.in (GCC_IEEE_FP_FLAG): Substitute value. |
|
3733 (ALL_CFLAGS, UGLY_ALL_CFLAGS, ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS, |
|
3734 ALL_LDFLAGS): Use it. |
|
3735 |
|
3736 Tue Feb 1 22:30:46 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3737 |
|
3738 * src/builtins.cc (install_builtins): Make SEEK_SET, SEEK_CUR, and |
|
3739 SEEK_END constants. |
|
3740 |
|
3741 * src/tree-plot.cc (tree_subplot_using::print): Only check column |
|
3742 number against max if max is greater than 0. |
|
3743 |
|
3744 Mon Jan 31 15:59:31 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3745 |
|
3746 * scripts/strcmp.m: Correctly handle empty strings. |
|
3747 |
|
3748 * src/parse.y (input): Recognize lone simple_list and simple_list |
|
3749 followed by error and '\n'. |
|
3750 |
|
3751 Fri Jan 28 00:20:30 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3752 |
|
3753 * Version 0.81 released. |
|
3754 |
|
3755 * src/octave.cc (clean_up_and_exit): Call cleanup_tmp_files() here |
|
3756 too. |
|
3757 |
|
3758 * configure.in: Check for atexit and on_exit. |
|
3759 * src/octave.cc: Use HAVE_ATEXIT and HAVE_ON_EXIT (instead of |
|
3760 just checking to see if sun is defined) to decide whether to |
|
3761 define atexit as on_exit. |
|
3762 (main): Don't try to call atexit if it's missing and we don't have |
|
3763 on_exit either. |
|
3764 |
|
3765 Thu Jan 27 22:16:48 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3766 |
|
3767 * configure.in: Check for gethostname and sys/utsname.h. |
|
3768 * utils.cc (gethostname): Steal replacement from bash. Provide |
|
3769 definition if it looks like it's missing and we have |
|
3770 sys/utsname.h. |
|
3771 |
|
3772 * liboctave/Array.h (DiagArray): Define non-const indexing |
|
3773 functions here. |
|
3774 * liboctave/Array.cc (DiagArray): Not here. |
|
3775 |
|
3776 * liboctave/Array.h (DiagArray::Proxy): New class to handle |
|
3777 non-const reference indexing. Allows different action if indexing |
|
3778 on left side of assignment operator. |
|
3779 |
|
3780 * src/octave.cc (main): Call initialize_pager(), |
|
3781 initialize_readline(), and install_signal_handlers() before trying |
|
3782 to read startup files. |
|
3783 |
|
3784 * src/octave.cc (input_from_startup_file): New global flag. |
|
3785 (execute_startup_files): Set it to 1 before reading startup files. |
|
3786 * src/parse.y (func_def_2): If input_from_startup_file, don't try |
|
3787 to compare file name and function name. |
|
3788 |
|
3789 Wed Jan 26 14:39:27 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3790 |
|
3791 * readline/rldefs.h: Make better use of autoconf defines. |
|
3792 |
|
3793 Tue Jan 25 17:19:19 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3794 |
|
3795 * liboctave/Matrix.cc (ComplexMatrix (DiagMatrix)): Make sure off |
|
3796 diagonal elements are zero. |
|
3797 (ComplexMatrix (ComplexDiagMatrix): Likewise. |
|
3798 (Matrix (DiagMatrix): Likewise. |
|
3799 |
|
3800 Fri Jan 21 17:43:11 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3801 |
|
3802 * flibs.sh: Recognize libraries that match `/*.a'. |
|
3803 |
|
3804 Thu Jan 20 18:12:01 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3805 |
|
3806 * Version 0.80.1. |
|
3807 |
|
3808 Wed Jan 19 14:48:27 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3809 |
|
3810 * libcruft/odepack/stode.f: Don't try to `RETURN 0'. This causes |
|
3811 lsode to fail, at least with Sun's f77. |
|
3812 |
|
3813 * src/tree-const.cc (tree_constant_rep::load): Delete string |
|
3814 returned from extract_keyword. |
|
3815 * src/t-builtins.cc (builtin_load): Likewise. |
|
3816 * src/variables.cc (extract_keyword): Return new storage, not |
|
3817 static buffer. |
|
3818 |
|
3819 * src/t-builtins.cc (builtin_save): If saving a named list of |
|
3820 variables, use is_globally_visible to decide whether to mark |
|
3821 variables in the current symbol table as global. |
|
3822 |
|
3823 Tue Jan 18 11:57:03 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3824 |
|
3825 * Version 0.80 released. |
|
3826 |
|
3827 * doc/Makefile.in (install): Delete commands for installing |
|
3828 liboctave.info instead of trying to comment them out. |
|
3829 |
|
3830 * liboctave/Array.cc: Allow users to compile with |
|
3831 -fexternal-stemplates and USE_EXTERNAL_TEMPLATES defined to |
|
3832 generate their own .o files with new types. |
|
3833 |
|
3834 * Makeconf.in (includedir): Install include files in |
|
3835 $prefix/include/octave by default. |
|
3836 |
|
3837 * liboctave/Makefile.in (TEMPLATE_SRC): New macro. |
|
3838 (install): Install files listed in $(TEMPLATE_SRC) too. |
|
3839 |
|
3840 * info/search.h: Conditionally declare stricmp and strnicmp. |
|
3841 * info/search.c: Conditionally define stricmp and strnicmp. |
|
3842 * config.h.in: Add undefs for HAVE_STRICMP and HAVE_STRNICMP. |
|
3843 |
|
3844 * configure.in: Check for stricmp and strnicmp too. |
|
3845 |
|
3846 * doc/Makefile.in: For now, don't format or try to install the |
|
3847 liboctave manual. |
|
3848 Don't distribute formatted copies of liboctave manual. |
|
3849 |
|
3850 Mon Jan 17 01:10:54 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3851 |
|
3852 * doc/Makefile.in (clean): Remove all index files. |
|
3853 |
|
3854 * src/Makefile.in (defaults.h): Depend on Makefile too. |
|
3855 * doc/Makefile.in (conf.texi): New rule for making conf.texi from |
|
3856 conf.texi.in. |
|
3857 |
|
3858 * doc/conf.texi.in: New file. |
|
3859 * doc/octave.texi: Include conf.texi to get VERSION, OCTAVE_HOME, |
|
3860 and other variables that need to be set depending on the |
|
3861 configuration. |
|
3862 |
|
3863 * Makefile.in (DISTFILES): Don't distribute PLOTTING. Current |
|
3864 plotting info is in the Texinfo docs. |
|
3865 |
|
3866 Sat Jan 15 15:43:34 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3867 |
|
3868 * config.sub: New file, from libg++-2.5.2. |
|
3869 * Makefile.in: Distribute config.sub. |
|
3870 * configure.in: Use config.sub to validate system types. If it |
|
3871 fails, continue with target_host_type and canonical_host_type set |
|
3872 to unknown. Leave target_host_type set to any alias given as the |
|
3873 TARGET argument to configure. |
|
3874 |
|
3875 * readline/rldefs.h: If ultrix and HAVE_SGTTY_H, avoid Posix |
|
3876 terminal driver. |
|
3877 * configure.in: If configuring for ultrix, check for sgtty first. |
|
3878 If not found, go ahead and check for Posix terminal driver. |
|
3879 |
|
3880 * configure.in: Don't try to do anything special for readline on |
|
3881 NeXT systems. |
|
3882 |
|
3883 * Makeconf.in: Define rules for making .d files here. |
|
3884 liboctave/Makefile.in: Not here. |
|
3885 src/Makefile.in: Or here. |
|
3886 |
|
3887 * liboctave/Matrix.h (all Matrix/Vector operator = functions): |
|
3888 Simply call the base class operator =, then return *this. |
|
3889 (class ColumnVector): Declare RowVector a friend class, so it can |
|
3890 access the private constructor for the transpose operator. |
|
3891 (class RowVector): Likewise, for ColumnVector. |
|
3892 (class ComplexColumnVector): Likewise, for CommplexRowVector. |
|
3893 (class ComplexRowVector): Likewise, for ComplexColumnVector. |
|
3894 Numerous formatting cleanups. |
|
3895 |
|
3896 Thu Jan 13 13:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3897 |
|
3898 * Version 0.79.90. |
|
3899 |
|
3900 * builtins.cc: Include missing-math.h. |
|
3901 |
|
3902 * src/missing-math.h: Provide declarations for acosh, asinh, |
|
3903 atanh, and gamma whether they are actually missing or not, because |
|
3904 they are not part of the standard math.h, and the g++/libg++ |
|
3905 installation no longer provides declarations for them. |
|
3906 |
|
3907 * src/sighandlers.h (RETSIGTYPE): Define here. |
|
3908 (BADSIG): Likewise. |
|
3909 (sig_handler): Likewise. |
|
3910 |
|
3911 * src/g-builtins.cc: Include sighandlers.h |
|
3912 Don't define RETSIGTYPE, BADSIG, or sig_handler here. |
|
3913 * src/octave.cc: Or here. |
|
3914 |
|
3915 Wed Jan 12 16:12:27 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3916 |
|
3917 * src/g-builtins.cc: Don't check nargin/nargout in *_options |
|
3918 functions. |
|
3919 |
|
3920 * src/f-qpsol.cc, src/f-quad.cc, src/f-lsode.cc, src/f-fsolve.cc, |
|
3921 src/f-dassl.cc, liboctave/QPSOL.cc, liboctave/Quad.cc, |
|
3922 liboctave/ODE.cc, liboctave/NLEqn.cc, liboctave/DAE.cc: |
|
3923 Similar changes for these classes/functions as the following |
|
3924 changes for src/f-npsol.cc and liboctave/NPSOL.cc: |
|
3925 |
|
3926 * src/f-npsol.cc (npsol_opts): New static variable to hold Octave's |
|
3927 current idea of npsol options. |
|
3928 (npsol): Call nlp.copy (npsol_opts) after creating NPSOL object. |
|
3929 (npsol_option_table): New static list of options for npsol. |
|
3930 (print_npsol_option_list): New function. |
|
3931 (do_npsol_option): New function. |
|
3932 (npsol_options): Make it work. |
|
3933 |
|
3934 * liboctave/NPSOL.cc (NPSOL_options): New class. |
|
3935 * (NPSOL): Also derive from NPSOL_options. |
|
3936 * (minimize): Call pass_options_to_npsol before calling npsol. |
|
3937 * (NPSOL::option): No longer works. Print error message instead. |
|
3938 * (NPSOL::set_default_options): Now a member of NPSOL_options class. |
|
3939 |
|
3940 * src/utils.cc: If missing, declare strcasecmp, strncasecmp. |
|
3941 * (almost_match): Add new argument to do case-insensitive matches. |
|
3942 * (keyword_almost_match): New function to match a string against a |
|
3943 list of keywords. |
|
3944 |
|
3945 * liboctave/NLP.h (NLP): Add destructor and copy constructor. |
|
3946 |
|
3947 * configure.in: Check for strcasecmp and strncasecmp. |
|
3948 * config.h.in: Add #undefs for HAVE_STRCASECMP and STRNCASECMP. |
|
3949 * src/strcasecmp.c, src/strncase.c: New files, from glibc. |
|
3950 * src/Makefile.in (SOURCES, OBJECTS): List them. |
|
3951 |
|
3952 * src/builtins.cc (general_functions): Improve usage message for |
|
3953 the *_options functions. |
|
3954 (print_usage): New arg, just_usage with default value of 0. |
|
3955 If nonzero, don't print info about where to find additional help. |
|
3956 |
|
3957 * src/Makefile.in (INCLUDES): Add error.h. |
|
3958 (SOURCES): Add error.h. |
|
3959 |
|
3960 * src/tree.cc (tree_identifier::parse_m_file): call reset_parser |
|
3961 before calling yyparse (). |
|
3962 * src/tc-extras.cc (eval_string): Likewise. |
|
3963 Don't save previous symbol table. That is handled by the |
|
3964 unwind protect. |
|
3965 |
|
3966 * src/lex.l (reset_parser): Don't unconditionally call yyreset. |
|
3967 Add a couple of comments. |
|
3968 (yywrap): Always return 1, not 0. |
|
3969 (yy_flex_alloc, yy_flex_realloc, yy_flex_free): #if 0 out. |
|
3970 |
|
3971 * src/utils.cc (raw_mode): Only complain about stdin not being a |
|
3972 tty if we are really interactive. |
|
3973 |
|
3974 * src/octave.cc (main): End startup message with endl to ensure |
|
3975 flushing before other output. |
|
3976 * Turn of readline's blink_matching_paren feature if not |
|
3977 interactive, or if reading from a file specified on the command |
|
3978 line. |
|
3979 |
|
3980 * src/octave.cc (main): Set the symbol table context just before |
|
3981 calling reset_parser in the main loop. |
|
3982 * src/lex.l (reset_parser): Not here. |
|
3983 |
|
3984 * src/input.cc (octave_gets): Declare static. |
|
3985 (octave_read): Also handle echoing input if not using readline. |
|
3986 |
|
3987 * Makefile.in (DISTFILES): Add SENDING-PATCHES to the list. |
|
3988 |
|
3989 Mon Jan 10 14:30:13 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3990 |
|
3991 * scripts/corrcoef.m, scripts/fortran_vec.m, scripts/kurtosis.m, |
|
3992 scripts/ols.m, scripts/skewness.m, scripts/cov.m, scripts/gls.m, |
|
3993 scripts/mahalanobis.m, scripts/pinv.m: New script files from Kurt |
|
3994 Hornik (hornik@neuro.tuwien.ac.at) and the Department of |
|
3995 Probability Theory and Statistics TU Wien, Austria. |
|
3996 |
|
3997 Sun Jan 9 01:11:05 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
3998 |
|
3999 * src/g-builtins.cc (builtin_fsqp_options): If FSQP_MISSING is |
|
4000 defined, don't call fsqp_options; just print usage message. |
|
4001 (builtin_npsol_options): Likewise, for npsol_options. |
|
4002 (builtin_qpsol_options): Likewise, for qpsol_options. |
|
4003 * src/builtins.cc (general_functions): Provide different usage |
|
4004 message for fsqp_options depending on whether FSQP_MISSING is |
|
4005 defined. Likewise for npsol_options and qpsol_options. |
|
4006 |
|
4007 Sat Jan 8 16:45:57 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
4008 |
|
4009 * libcruft/misc/dostop.c: Include config.h. |
|
4010 |
|
4011 * src/variables.cc (extract_keyword): Use ostrstream instead of |
|
4012 fixed length buffer. For keywords with string values, return |
|
4013 value in static buffer. |
|
4014 * src/t-builtins.cc (builtin_load): Handle new argument list for |
|
4015 extract_keyword. Handle possiblity of load_variable setting |
|
4016 error_state. |
|
4017 * src/tree-const.cc (tree_constant_rep::load): Handle new argument |
|
4018 list for extract_keyword. |
|
4019 |
|
4020 Fri Jan 7 13:20:47 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
4021 |
|
4022 * src/f-eig.cc (builtin_eig_2): Rename from builtin_eig. |
|
4023 * src/f-fsolve.cc (builtin_fsolve_2): Rename from builtin_fsolve. |
|
4024 * src/f-inv.cc (builtin_inv_2): Rename from builtin_inv. |
|
4025 |
|
4026 Thu Jan 6 12:29:41 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
4027 |
|
4028 * src/tree-base.h (tree::save): Add optional argument `precision'. |
|
4029 * src/tree-const.cc (tree_constant::save): Ditto. |
|
4030 (tree_constant_rep::save): Ditto. |
|
4031 * src/symtab.cc (symbol_def::save): Ditto. |
|
4032 (symbol_record::save): Ditto. |
|
4033 (symbol_table::save): Ditto. |
|
4034 |
|
4035 * src/t-builtins.cc (builtin_save): Pass user_pref.save_precision |
|
4036 to symbol table save functions. |
|
4037 * src/builtns.cc (string_variables): Add save precision to thelist. |
|
4038 (install_builtins): Initialize it. |
|
4039 * src/user-prefs.cc (set_save_precision): New function. |
|
4040 * src/user-prefs.h (user_pref.save_precision): New data element. |
|
4041 |
|
4042 * liboctave/Matrix-ext.cc: Provide correct prototypes for dgeesx |
|
4043 and zgeesx. |
|
4044 * (SCHUR::init): Don't declare a dummy_select function pointer, |
|
4045 just pass `(void *) 0' instead, since the dummy argument is never |
|
4046 supposed to be used anyway. |
|
4047 |
|
4048 * src/input.cc (initialize_readline): Cast command_completer to |
|
4049 CPPFunction, not Function, now that readline has more than one |
|
4050 function typedef. |
|
4051 * Add extern declaration for free_undo_list (). |
|
4052 |
|
4053 * Replace readline source from GDB with readline source from bash. |
|
4054 This allows paren matching. |
|
4055 |
|
4056 Wed Jan 5 01:20:26 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
4057 |
|
4058 * configure.in: Also check for sys/select.h. |
|
4059 |
|
4060 * liboctave/RowVector.cc (ComplexRowVector::operator *): Complete |
|
4061 function body. Put code in-line rather than making a call to the |
|
4062 BLAS routine zdotu to avoid having to cope with the various ways |
|
4063 that Fortran compilers might translate this. |
|
4064 |
|
4065 * src/input.cc (operate_and_get_next): New function, from bash. |
|
4066 (initialize_readline): Bind operate_and_get_next to C-O here. |
|
4067 |
|
4068 * src/input.cc (command_completer, command_generator): |
|
4069 Declare static here. |
|
4070 * srs/input.h (command_completer, command_generator): |
|
4071 Not extern here. |
|
4072 |
|
4073 * g-builtins.cc (builtin_warranty): Change copyright info. |
|
4074 * octave.cc (verbose_usage): Likewise. |
|
4075 (main): Likewise. |
|
4076 |
|
4077 Mon Jan 3 15:49:41 1994 John Eaton (jwe@schoch.che.utexas.edu) |
|
4078 |
|
4079 * src/fnmatch.c, src/fnmatch.h: New files for pattern matching |
|
4080 from the GNU C library. |
|
4081 * src/Makefile.in: Add them to the appropriate lists. |
|
4082 * src/t-builtins.cc (builtin_save): Use fnmatch to do pattern |
|
4083 matching instead of using regular expressions. |
|
4084 (builtin_clear): Likewise. |
|
4085 (glob_pattern_p): New function. |
|
4086 (builtin_save): Print error message and return if only given one |
|
4087 argument that contains globbing characters. |
|
4088 |
|
4089 * src/symtab.cc (symbol_record::save): Don't attempt to save |
|
4090 undefined variables. |
|
4091 |
|
4092 Wed Dec 29 02:55:08 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4093 |
|
4094 * scripts/rank.m: Also need to compute SVD when nargin == 2. |
|
4095 Correct usage message. |
|
4096 |
|
4097 Wed Dec 15 01:44:18 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4098 |
|
4099 * src/f-lpsolve.cc, src/f-fsqp.cc, src/f-npsol.cc, src/f-qpsol.cc, |
|
4100 src/f-lsode.cc, src/f-dassl.cc, src/f-fsolve.cc, src/f-quad.cc: |
|
4101 New stub options functions, XXX_options, and XXX_options_2 (for |
|
4102 future dld use), where XXX is lpsolve, fsqp, npsol, etc. |
|
4103 * src/f-lpsolve.h, src/f-fsqp.h, src/f-npsol.h, src/f-qpsol.h, |
|
4104 src/f-lsode.h, src/f-dassl.h, src/f-fsolve.h, src/f-quad.h: |
|
4105 Declare XXX_options functions. |
|
4106 * src/builtins.cc (builtin_general_functions): Add new XXX_options |
|
4107 functions to the list of builtin functions. |
|
4108 * src/g-builtins.cc: Define builtin_XXX_options functions. |
|
4109 * src/g-builtins.h: Declare them. |
|
4110 |
|
4111 * scripts/tzero.m: Add missing comma in fprintf call. |
|
4112 |
|
4113 Tue Dec 14 00:24:35 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4114 |
|
4115 * libcruft/quadpack/*.f: Modify to handle user-requested |
|
4116 termination from inside the user-supplied function. |
|
4117 * src/f-quad.cc (quad_user_function): Set quad_integration_error |
|
4118 if an error is encountered in the user-supplied function. |
|
4119 * liboctave/Quad.h (quad_integration_error): New global variable. |
|
4120 * liboctave/Quad.cc (user_function): Handle |
|
4121 quad_integration_error, and error flag for modified Quadpack |
|
4122 functions. |
|
4123 |
|
4124 * src/tree.cc (tree_simple_assignment_expression::eval): Check |
|
4125 error status after calling convert_to_const_vector () on the |
|
4126 argument list. |
|
4127 (tree_index_expression::eval): Ditto. |
|
4128 |
|
4129 * src/tree.cc (tree_argument_list::convert_to_const_vector): |
|
4130 If an error is encountered while evaluating an element of the |
|
4131 list, print an error message including the element number. |
|
4132 |
|
4133 * liboctave/ODE.cc (integration_error): New private data member. |
|
4134 (ODE constructors): Initialize it to zero. |
|
4135 (ODE::integrate (double)): Reset it to zero before each |
|
4136 integration step. |
|
4137 (lsode_f): Treat empty vector returned from user-supplied function |
|
4138 as an error. |
|
4139 * src/f-lsode.cc (lsode_user_function): Return empty vector if |
|
4140 error is encountered in user-supplied function. Don't jump to top |
|
4141 level on error. |
|
4142 |
|
4143 * libcruft/odepack/lsode.f (lsode): Return with istate = -13 on |
|
4144 error from user supplied subroutine. |
|
4145 * libcruft/odepack/lsode.f (lsode): Handle extra argument returned |
|
4146 from user-supplied function. |
|
4147 * libcruft/odepack/stode.f (stode): Likewise. |
|
4148 * libcruft/odepack/prepj.f (prepj): Likewise. |
|
4149 |
|
4150 Wed Dec 8 01:30:57 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4151 |
|
4152 * liboctave/DAE.cc (integration_error): New private data member. |
|
4153 (DAE constructors): Initialize it to zero. |
|
4154 (DAE::integrate (double)): Reset it to zero before each |
|
4155 integration step. |
|
4156 (dassl_f): Treat empty vector returned from user-supplied function |
|
4157 as an error. |
|
4158 * src/f-dassl.cc (dassl_user_function): Return empty vector if |
|
4159 error is encountered in user-supplied function. Don't jump to top |
|
4160 level on error. |
|
4161 |
|
4162 * liboctave/NPSOL.cc (npsol_objective_error): New global variable. |
|
4163 (npsol_objfun): Set to zero before calling user-supplied function. |
|
4164 Check after calling user-supplied function. |
|
4165 Set mode to -1 on error. |
|
4166 (npsol_confun): Set mode to -1 on error. |
|
4167 (npsol declaration): Declare args for user-supplied functions. |
|
4168 * src/f-npsol.cc (npsol_objective_function): If an error is |
|
4169 encountered in the calculation of the objective function, set |
|
4170 npsol_objective_error to 1. |
|
4171 (npsol_constraint_function): Treat empty vector returned from |
|
4172 user-supplied function as an error. |
|
4173 |
|
4174 * liboctave/Array.cc (*::checkelem): Correct bounds checking. On |
|
4175 error, return uninitialized value of type T. This avoids placing |
|
4176 an extra requirement on the class that can be used as an array |
|
4177 element. |
|
4178 (*::operator ()): Likewise. |
|
4179 |
|
4180 Mon Dec 6 07:24:49 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4181 |
|
4182 * liboctave/NLEqn.cc (hybrd1 declaration): Declare args for |
|
4183 user-supplied fuction. |
|
4184 (hybrj1): Likewise. |
|
4185 (hybrd1_fcn): Treat return of empty vector from user supplied |
|
4186 function as an error by setting iflag to -1. |
|
4187 (hybrj1_fcn): Likewise. |
|
4188 (solve): Handle case of info < 0 returned from hybrd1. |
|
4189 |
|
4190 * src/f-fsolve.cc (fsolve_user_function): Don't jump to top level |
|
4191 on error in user-supplied function. Treat empty vector returned |
|
4192 from user-supplied function as error. |
|
4193 (hybrd_info_to_fsolve_info): Translate -1 (failure in evaluation |
|
4194 of user-supplied function) to -2. |
|
4195 * scripts/perror.m (fsolve case): Handle -2. |
|
4196 |
|
4197 * info/error.c (program_name): Initialize to info, not NULL. |
|
4198 |
|
4199 * info/session.c (initialize_info_session): Don't exit if term is |
|
4200 too dumb or too small to use info. Return int status instead. |
|
4201 * info/info.h (TERM_TOO_SMALL): New macro. |
|
4202 |
|
4203 * src/t-buitlins.cc (try_info): Check return value from |
|
4204 initialize_info_session (). |
|
4205 |
|
4206 * liboctave/Array.cc (DiagArray<T>::DiagArray (int n, const T& val)): |
|
4207 Set number of rows and columns to n, not 0. |
|
4208 |
|
4209 Sat Dec 4 14:01:41 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4210 |
|
4211 * src/lex.h (YY_INPUT): Undefine if defined, then always define |
|
4212 the way we want. |
|
4213 (YY_FATAL_ERROR): Likewise. |
|
4214 |
|
4215 * src/lex.l (yywrap): Declare static. |
|
4216 (yy_flex_alloc): New function, so we don't have to link with |
|
4217 libfl.a when using flex 2.4.x. |
|
4218 (yy_flex_realloc): Ditto. |
|
4219 (yy_flex_free): Ditto. |
|
4220 |
|
4221 Thu Dec 2 19:23:43 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4222 |
|
4223 * scripts/*.m: Add copying notice to script files. |
|
4224 |
|
4225 * src/input.cc (command_generator): Return copy of matching string. |
|
4226 |
|
4227 * src/input.cc (command_generator): Correctly delete array of |
|
4228 character strings. |
|
4229 * src/symtab.cc (symbol_table::save): Likewise. |
|
4230 * src/utils.cc (pathstring_to_vector): Likewise. |
|
4231 |
|
4232 * src/utils.cc (get_m_file_names): When reallocating vector of |
|
4233 strings, delete original vector of pointers, but not the strings |
|
4234 they point to. |
|
4235 |
|
4236 Tue Nov 30 12:36:41 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4237 |
|
4238 * liboctave/RowVector.cc, liboctave/ColVector.cc, |
|
4239 liboctave/DiagMatrix.cc, liboctave/Matrix.cc, |
|
4240 liboctave/Matrix-ext.cc: Massive rewrite to cope with new |
|
4241 derivation scheme. |
|
4242 |
|
4243 * liboctave/Matrix.h: Include Array.h, and derive Matrix, |
|
4244 ComplexMatrix, etc. from Array<double>. Derive Complex |
|
4245 versions from Array<Complex>. Delete declarations of functions |
|
4246 now inherited from the Array classes. |
|
4247 * Include mx-kludge.h with appropriate #defines in each class that |
|
4248 needs it. |
|
4249 * liboctave/Matrix.cc: Include mx-kludge.cc with appropriate |
|
4250 #defines in each class that needs it. |
|
4251 |
|
4252 * liboctave/Makefile.in (INCLUDES): Add Array.h, MArray.h, and |
|
4253 mx-kludge.h. |
|
4254 (SOURCES): Add Array.cc. |
|
4255 (EXTRAS): Add MArray.cc and mx-kludge.cc. |
|
4256 |
|
4257 * liboctave/mx-kludge.h, liboctave/mx-kludge.cc: New files to |
|
4258 implement the MArray functionality with macros until g++ can |
|
4259 handle the MArray stuff. |
|
4260 |
|
4261 * liboctave/MArray.h, liboctave/MArray.cc: New files for generic |
|
4262 arrays with simple math functions for like-types. This won't |
|
4263 quite work with g++ yet, so it's not used anywhere. |
|
4264 |
|
4265 * liboctave/Array.h, liboctave/Array.cc: New files for generic |
|
4266 arrays. |
|
4267 |
|
4268 * liboctave/mx-inlines.cc: Add const for const arguments. |
|
4269 |
|
4270 * src/file-io.cc (file_info): Rename class from File_info. |
|
4271 (file_info::operator =): Fix memory leak by deleting old name |
|
4272 and mode before saving new. Don't do copy if source and |
|
4273 destination are the same. |
|
4274 |
|
4275 * src/tree.cc (tree_matrix::eval): Plug memory leak. |
|
4276 |
|
4277 * src/tree.cc (tree_builtin::tree_builtin): Check to see that nm, |
|
4278 not my_name, is non-NULL before saving it. |
|
4279 |
|
4280 * src/tree.cc (tree_identifier::eval, tree_gobal_command::eval): |
|
4281 After performing the assignment, delete the identifier created |
|
4282 for temporary asssignment since the destrucotr for |
|
4283 tree_simple_assignment_expression doesn't do it for us. |
|
4284 |
|
4285 * src/tree.cc (tree_function::stash_m_file_name): Delete file_name |
|
4286 before saving it. |
|
4287 (tree_function::stash_function_name): Likewise, for fcn_name. |
|
4288 |
|
4289 * src/lex.l, src/lex.h: Make quote_is_transpose globally visible. |
|
4290 * src/parse.y (param_list): Use it, and recognize empty parameter |
|
4291 lists here. |
|
4292 |
|
4293 * src/parse.y (simple_expr1): Recognize empty matrices here. |
|
4294 (matrix): Not here. |
|
4295 |
|
4296 * src/arith-ops.cc (do_binary_op): The matrix product and quotient |
|
4297 functions aren't class member functions now. |
|
4298 |
|
4299 * src/tc-index.cc, src/tc-assign.cc, src/symtab.cc, |
|
4300 src/tree-plot.cc, src/idx-vector.cc, src/tree-const.cc: |
|
4301 Call ::error, not just error, since g++ now complains about not |
|
4302 being able to find a non-hidden member function by that name. |
|
4303 |
|
4304 * src/tree-const.cc: Call ::real and ::imag, not just real and imag, |
|
4305 since g++ now complains about not being able to find non-hidden |
|
4306 member functions by those names. |
|
4307 |
|
4308 * src/tree-const.cc (tree_constant_rep::force_numeric): Handle case |
|
4309 of zero-length strings. |
|
4310 |
|
4311 * src/tree-const.cc (tree_constant_rep::convert_to_str): Null |
|
4312 terminate strings created from scalars. |
|
4313 |
|
4314 * src/tc-index.cc (tree_constant_rep::fortran_style_matrix_index): Use |
|
4315 data(), not fortran_vec(). |
|
4316 * src/idx-vector.cc (idx_vector::idx_vector): Likewise. |
|
4317 |
|
4318 * src/SLStack.cc: Move function definitions here. |
|
4319 * src/SLStack.h: From here. Include SLStack.cc if not using |
|
4320 external templates. |
|
4321 |
|
4322 * src/unwind-prot.h: Move class declaration here. |
|
4323 * src/unwind-prot.cc: From here. |
|
4324 |
|
4325 * src/xdiv.h, src/xpow.h, src/variables.h, src/utils.h, |
|
4326 src/user-prefs.h, src/t-builtins.h, src/sighandlers.h, |
|
4327 src/pr-output.h, src/pager.h, src/octave-hist.h, src/mappers.h, |
|
4328 src/input.h, src/help.h, src/gripes.h, src/g-builtins.h, |
|
4329 src/f-syl.h, src/f-svd.h, src/f-schur.h, src/f-rand.h, |
|
4330 src/f-qzval.h, src/f-quad.h, src/f-qr.h, src/f-qpsol.h, |
|
4331 src/f-npsol.h, src/f-lu.h, src/f-lsode.h, src/f-lpsolve.h, |
|
4332 src/f-inv.h, src/f-ifft.h, src/f-hess.h, src/f-givens.h, |
|
4333 src/f-fsqp.h, src/f-fsolve.h, src/f-fft.h, src/f-expm.h, |
|
4334 src/f-eig.h, src/f-det.h, src/f-dassl.h, src/f-colloc.h, |
|
4335 src/f-chol.h, src/f-balance.h, src/error.h, src/dynamic-ld.h, |
|
4336 src/builtins.h, src/arith-ops.h, src/tree-const.h, src/tree.h, |
|
4337 src/token.h, src/symtab.h, src/procstream.h, src/idx-vector.h, |
|
4338 src/file-io.h, src/tree-base.h, src/unwind-prot.h, src/Stack.h, |
|
4339 liboctave/LinConst.h, liboctave/FEGrid.h, liboctave/NLEqn.h, |
|
4340 liboctave/NLConst.h, liboctave/LPsolve.h, liboctave/LP.h, |
|
4341 liboctave/FSQP.h, liboctave/DAEFunc.h, liboctave/DAE.h, |
|
4342 liboctave/CollocWt.h, liboctave/Bounds.h, liboctave/Objective.h, |
|
4343 liboctave/ODEFunc.h, liboctave/NLFunc.h, liboctave/Range.h, |
|
4344 liboctave/Quad.h, liboctave/QP.h, liboctave/QPSOL.h, |
|
4345 liboctave/QLD.h, liboctave/NPSOL.h, liboctave/NLP.h, |
|
4346 liboctave/f77-uscore.h, liboctave/lo-error.h, |
|
4347 liboctave/Matrix.h: |
|
4348 Don't use #pragma interface. |
|
4349 |
|
4350 * src/tc-index.cc, src/tc-assign.cc, src/symtab.cc, |
|
4351 src/procstream.cc, src/gripes.cc, src/f-syl.cc, src/f-svd.cc, |
|
4352 src/f-schur.cc, src/f-rand.cc, src/f-quad.cc, src/f-qr.cc, |
|
4353 src/f-qpsol.cc, src/f-npsol.cc, src/f-lu.cc, src/f-lsode.cc, |
|
4354 src/f-lpsolve.cc, src/f-inv.cc, src/f-ifft.cc, src/f-hess.cc, |
|
4355 src/f-givens.cc, src/f-fsqp.cc, src/f-fsolve.cc, src/f-fft.cc, |
|
4356 src/f-eig.cc, src/f-det.cc, src/f-dassl.cc, src/f-colloc.cc, |
|
4357 src/f-chol.cc, src/f-balance.cc, src/t-builtins.cc, |
|
4358 src/octave-hist.cc, src/input.cc, src/g-builtins.cc, |
|
4359 src/xdiv.cc, src/xpow.cc, src/user-prefs.cc, src/unwind-prot.cc, |
|
4360 src/tree-plot.cc, src/token.cc, src/tc-extras.cc, src/sysdep.cc, |
|
4361 src/sighandlers.cc, src/pr-output.cc, src/pager.cc, |
|
4362 src/mappers.cc, src/idx-vector.cc, src/help.cc, src/f-qzval.cc, |
|
4363 src/f-expm.cc, src/error.cc, src/dynamic-ld.cc, src/builtins.cc, |
|
4364 src/arith-ops.cc, src/variables.cc, src/utils.cc, |
|
4365 src/tree-const.cc, src/file-io.cc, src/tree.cc, |
|
4366 liboctave/sun-utils.cc, liboctave/mx-inlines.cc, |
|
4367 liboctave/RowVector.cc, liboctave/ColVector.cc, |
|
4368 liboctave/DiagMatrix.cc, liboctave/Matrix.cc, |
|
4369 liboctave/Matrix-ext.cc, liboctave/Quad.cc, liboctave/ODE.cc, |
|
4370 liboctave/LPsolve.cc, liboctave/FSQP.cc, liboctave/DAE.cc, |
|
4371 liboctave/DAEFunc.cc, liboctave/QP.cc, liboctave/Objective.cc, |
|
4372 liboctave/ODEFunc.cc, liboctave/NLFunc.cc, liboctave/NLConst.cc, |
|
4373 liboctave/LP.cc, liboctave/lo-error.cc, liboctave/Range.cc, |
|
4374 liboctave/QPSOL.cc, liboctave/NPSOL.cc, liboctave/NLEqn.cc, |
|
4375 liboctave/Matrix.cc, liboctave/Matrix-ext.cc, |
|
4376 liboctave/LinConst.cc, liboctave/FEGrid.cc, |
|
4377 liboctave/DiagMatrix.cc, liboctave/CollocWt.cc, |
|
4378 liboctave/ColVector.cc, liboctave/Bounds.cc: |
|
4379 Don't use #pragma implementation. |
|
4380 |
|
4381 * src/lex.l, src/parse.y, src/procstream.cc, src/gripes.cc, |
|
4382 src/f-syl.cc, src/f-svd.cc, src/f-schur.cc, src/f-rand.cc, |
|
4383 src/f-quad.cc, src/f-qr.cc, src/f-qpsol.cc, src/f-npsol.cc, |
|
4384 src/f-lu.cc, src/f-lsode.cc, src/f-lpsolve.cc, src/f-inv.cc, |
|
4385 src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc, |
|
4386 src/f-fsolve.cc, src/f-fft.cc, src/f-eig.cc, src/f-det.cc, |
|
4387 src/f-dassl.cc, src/f-colloc.cc, src/f-chol.cc, |
|
4388 src/f-balance.cc, src/t-builtins.cc, src/octave-hist.cc, |
|
4389 src/input.cc, src/g-builtins.cc, src/xdiv.cc, src/xpow.cc, |
|
4390 src/user-prefs.cc, src/unwind-prot.cc, src/tree-plot.cc, |
|
4391 src/token.cc, src/tc-extras.cc, src/sysdep.cc, |
|
4392 src/sighandlers.cc, src/pr-output.cc, src/pager.cc, |
|
4393 src/mappers.cc, src/idx-vector.cc, src/help.cc, src/f-qzval.cc, |
|
4394 src/f-expm.cc, src/error.cc, src/dynamic-ld.cc, src/builtins.cc, |
|
4395 src/arith-ops.cc, src/variables.cc, src/utils.cc, |
|
4396 src/tree-const.cc, src/file-io.cc, src/tree.cc: If HAVE_CONFIG_H |
|
4397 is defined, include config.h. |
|
4398 |
|
4399 * config.h.in, acconfig.h: New files |
|
4400 * Makefile.in (DISTFILES): Add them to the list. |
|
4401 |
|
4402 * Makeconf.in (root_srcdir): Define. |
|
4403 (INCFLAGS): Clean up. |
|
4404 (UGLY_ALL_CFLAGS): New macro. |
|
4405 (UGLY_ALL_CXXFLAGS): Likewise. |
|
4406 (UGLY_ALL_LDFLAGS): Likewise. |
|
4407 |
|
4408 * configure.in: Convert to generate config.h. |
|
4409 Substitute root_srcdir in Makefiles. |
|
4410 Use AC_DEFINE(foo, 1) instead of DEFS="$DEFS -Dfoo=1". |
|
4411 If using g++ 2.5 or later, define USE_EXTERNAL_TEMPLATES. |
|
4412 Use UGLY_DEFS for what would have been substited in DEFS, for |
|
4413 those cases when we need DEFS instead of config.h. |
|
4414 |
|
4415 Tue Nov 16 04:59:19 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4416 |
|
4417 * src/f-expm.cc, src/f-givens.cc, src/f-qzval.cc, src/f-syl.cc: |
|
4418 Include f77-uscore.h here. |
|
4419 |
|
4420 * liboctave/ColVector.cc, liboctave/Matrix.cc, |
|
4421 liboctave/Matrix-ext.cc, liboctave/RowVector.cc: Move declarations |
|
4422 for Fortran functions here. |
|
4423 * liboctave/Matrix.h: From here. Don't include f77-uscore.h here. |
|
4424 |
|
4425 Mon Nov 15 04:03:34 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4426 |
|
4427 * src/tc-extras.cc (min): For two-arg versions, use error(), not |
|
4428 FAIL. |
|
4429 (max): Likewise. |
|
4430 * src/idx-vector.cc (checkelem): Likewise. |
|
4431 |
|
4432 * liboctave/Matrix.h, liboctave/Matrix.cc, liboctave/RowVector.cc, |
|
4433 liboctave/ColVector.cc, liboctave/DiagMatrix.cc, |
|
4434 liboctave/Matrix-ext.cc, liboctave/Bounds.cc, liboctave/DAE.cc, |
|
4435 liboctave/CollocWt.cc, liboctave/FEGrid.cc, liboctave/LinConst.cc, |
|
4436 liboctave/ODE.cc, liboctave/NLEqn.cc: Don't abort or exit on |
|
4437 errors. Instead print some message by calling the function |
|
4438 pointed to by current_liboctave_error_handler and then return. |
|
4439 |
|
4440 * liboctave/lo-error.cc: New file, for liboctave error handling |
|
4441 stuff. |
|
4442 |
|
4443 Sun Nov 14 23:28:12 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4444 |
|
4445 * src/utils.cc (default_path): Handle OCTAVE_PATH from the |
|
4446 environment like TeX handles TEXINPUTS. If the path starts with |
|
4447 `:', prepend the standard path. If it ends with `:' append the |
|
4448 standard path. If it begins and ends with `:', do both (which is |
|
4449 useless, but the luser asked for it...). |
|
4450 (octave_lib_dir): Plug memory leak. |
|
4451 |
|
4452 Sat Nov 13 02:41:24 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4453 |
|
4454 * src/symtab.h (symbol_record::context): New data member, to allow |
|
4455 recursive functions to work. |
|
4456 * src/symtab.cc (symbol_record::push_context): New function |
|
4457 (symbol_record::pop_context): Ditto. |
|
4458 (symbol_table::pop_context): Ditto. |
|
4459 (symbol_table::push_context): Ditto. |
|
4460 |
|
4461 * src/tree.cc (tree_function::eval): If call_depth is > 1, push |
|
4462 symbol table context and add unwind protect to pop it on exit or |
|
4463 error. |
|
4464 (pop_symbol_table_context): New function for unwind protect. |
|
4465 |
|
4466 * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of |
|
4467 AC_UNISTD_H. |
|
4468 |
|
4469 * src/lex.l, src/f-quad.cc, src/f-rand.cc, src/f-lpsolve.cc, |
|
4470 src/f-fsqp.cc, src/f-fsolve.cc, src/f-det.cc, src/f-dassl.cc, |
|
4471 src/f-colloc.cc, src/utils.cc, src/variables.cc, src/tree.cc, |
|
4472 src/tree-const.cc, src/tc-extras.cc, src/sysdep.cc, src/symtab.cc, |
|
4473 src/octave-hist.cc, src/pr-output.cc, src/input.cc, |
|
4474 src/g-builtins.cc, src/f-det.cc, src/f-inv.cc, src/file-io.cc: |
|
4475 Convert most calls to message() to calls to warning() or error() |
|
4476 instead. |
|
4477 |
|
4478 * src/f-npsol.cc (npsol): Don't try to create the linear |
|
4479 constraint object before checking array sizes. |
|
4480 |
|
4481 Fri Nov 12 04:36:12 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4482 |
|
4483 * src/tc-inlines.cc (is_one_zero): New function. |
|
4484 * src/tc-assign.cc: Everywhere we check for is_zero_one, also |
|
4485 check for is_one_zero. Some people write ranges that go in |
|
4486 decreasing order... |
|
4487 * src/tc-index.cc: Likewise. |
|
4488 |
|
4489 * src/tc-inlines (index_check (Range&, int&, char*)): Eliminate |
|
4490 second arg -- there is no need to return the max value of the |
|
4491 range. Correctly compute and check the minimum value. |
|
4492 * src/tc-index.cc: Change all callers, and check the max value |
|
4493 there. |
|
4494 * src/tc-assign.cc: Likewise. |
|
4495 |
|
4496 * src/tc-assign.cc (do_vector_assign): Handle assignment of empty |
|
4497 matrix for int, idx_vector, and Range cases. |
|
4498 (do_matrix_assign): Likewise, for cases when one of the indices is |
|
4499 a colon and the other is an int, idx_vector, or Range. |
|
4500 |
|
4501 * liboctave/Range.h (Range): Rename private data members rng_foo |
|
4502 instead of just _foo. |
|
4503 * liboctave/Range.cc: Change names where used. |
|
4504 |
|
4505 * liboctave/Range.cc (max): Return correct value even when the |
|
4506 elements in the range don't line up exactly with the limit. |
|
4507 (min): Likewise. |
|
4508 (sort): New function. |
|
4509 |
|
4510 * src/tc-assign.cc (delete_row (int)): New function. |
|
4511 (delete_rows (idx_vector&)): Ditto. |
|
4512 (delete_rows (Range&)): Ditto. |
|
4513 (delete_column (int)): New function. |
|
4514 (delete_columns (idx_vector&)): Ditto. |
|
4515 (delete_columns (Range&)): Ditto. |
|
4516 |
|
4517 * src/tree-const.h (is_empty): Don't try checking rows and columns |
|
4518 if type is magic_colon or unknown. Return false instead. |
|
4519 (is_zero_by_zero): New function. |
|
4520 |
|
4521 * src/idx-vector.cc (sort): New function. |
|
4522 (intcmp): New static function, for sorting. |
|
4523 |
|
4524 Thu Nov 11 02:31:13 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4525 |
|
4526 * scripts/menu.m: Update to use new va_start() and va_arg() |
|
4527 functions. |
|
4528 |
|
4529 * src/g-builtins.cc (builtin_va_arg): Rename from |
|
4530 builtin_get_next_arg. |
|
4531 (builtin_va_start): New function. |
|
4532 * src/builtins.cc (builtin_general_functions): Fix up list. |
|
4533 |
|
4534 * src/tree.cc (tree_function::va_arg): Rename from get_next_arg. |
|
4535 (tree_function::va_start): New function. |
|
4536 |
|
4537 * src/tree.h (tree_function::num_named_args): New data member. |
|
4538 * src/tree.cc (tree_function::define_param_list): Set it. |
|
4539 (tree_function::eval): Unwind-protect it. |
|
4540 |
|
4541 Wed Nov 10 03:37:44 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4542 |
|
4543 * src/tree.cc (tree_identifier::assign): Also check to make sure |
|
4544 that the symbol record is defined since symbol_record::is_variable |
|
4545 may return true even if the record is undefined. |
|
4546 * src/variables.cc (link_to_global_variable): Don't try to copy a |
|
4547 NULL_TREE_CONST. |
|
4548 |
|
4549 * src/tree-const.cc (tree_constant_rep::matrix_value): If the |
|
4550 current value is a scalar, return 1x1 matrix. |
|
4551 * src/tc-assign.cc (tree_constant_rep::check_vector_assign): |
|
4552 Handle case of zero size LHS. |
|
4553 Clean up formatting of some error messages. |
|
4554 |
|
4555 * src/lex.l ({EL}): Recognize ... when not at end of line. |
|
4556 * src/octave.cc (curr_function): New global variable. |
|
4557 * src/g-buitlins.cc (builtin_get_next_arg): New function. |
|
4558 * src/builtins.cc (builtin_general_functions): Add it to the list. |
|
4559 * src/parse.y (param_list1): Handle ... at end of parameter list. |
|
4560 Abort parse on error. |
|
4561 (ELLIPSIS): New token, for variable argument lists. |
|
4562 * src/tree.h (tree_function): Add varargs_ok, args_passed, |
|
4563 num_args_passed, and curr_arg_number data members to handle |
|
4564 variable argument lists. |
|
4565 (tree_parameter_list::marked_for_varargs): New data member. |
|
4566 * src/tree.cc (tree_function::takes_varargs): New function. |
|
4567 (tree_function::get_next_arg): New function. |
|
4568 (tree_parameter_list::mark_varargs): New function. |
|
4569 (tree_parameter_list::takes_varargs): New function. |
|
4570 (tree_function::eval): Set curr_function, args_passed, and |
|
4571 num_args_passed for use by get_next_arg. |
|
4572 |
|
4573 Mon Nov 8 14:22:34 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4574 |
|
4575 * Version 0.79 released. |
|
4576 |
|
4577 * src/builtins.cc (builtin_text_functions): Correct usage message |
|
4578 for who. |
|
4579 |
|
4580 * scripts/dgram.m: New function, from R. Bruce Tenison |
|
4581 (btenison@eng.auburn.edu). |
|
4582 * scripts/dlqe.m: Ditto. |
|
4583 * scripts/dlqr.m: Ditto. |
|
4584 * scripts/c2d.m: Ditto. |
|
4585 |
|
4586 * src/tree.cc (tree_identifier::name): Make it const. |
|
4587 (tree_builtin::name): Ditto. |
|
4588 (tree_parameter_list::name): Ditto. |
|
4589 (tree_word_list::name): Ditto. |
|
4590 |
|
4591 * src/symtab.cc (symbol_table::save): Delete list of names after |
|
4592 saving. |
|
4593 |
|
4594 * src/symtab.h (symbol_table): Move #defines outside of class |
|
4595 declaration. |
|
4596 |
|
4597 Sun Nov 7 07:03:12 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4598 |
|
4599 * Makeconf.in (CXX): Don't set from C++. Do set from @CXX@, which |
|
4600 is determined by configure. Don't set C++FLAGS. |
|
4601 |
|
4602 * src/tree.cc: (tree_function::eval (int, int)): Simply call |
|
4603 eval (tree_constant *, int, int, int) with nargin = 1 and args = |
|
4604 NULL_TREE_CONST instead of duplicating most of that function in place. |
|
4605 |
|
4606 * src/parse.y (func_def2): Reset id_name after renaming identifier. |
|
4607 Clear id_name from top level symbol table before defining identifier. |
|
4608 |
|
4609 Sat Nov 6 04:38:57 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4610 |
|
4611 * configure.in: When checking for g++, set CXX, not GXX. |
|
4612 |
|
4613 Merge min changes from Bruce Tenison (btenison@eng.auburn.edu) and |
|
4614 make the corresponding changes for max. |
|
4615 |
|
4616 * src/tc-extras.cc (min (ComplexMatrix&, ComplexMatrix&)): New |
|
4617 function. |
|
4618 (max (ComplexMatrix&, ComplexMatrix&)): Ditto. |
|
4619 (column_min): Handle complex args and two return values. |
|
4620 (column_max): Likewise. |
|
4621 |
|
4622 * liboctave/Matrix.cc (row_min_loc): New function. |
|
4623 (row_max_loc): New function. |
|
4624 (column_min_loc): Ditto. |
|
4625 (column_max_loc): Ditto. |
|
4626 |
|
4627 Fri Nov 5 03:12:55 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4628 |
|
4629 * Version 0.78. |
|
4630 |
|
4631 * src/octave.h (clean_up_and_exit): Change form of declaration for |
|
4632 GCC 2.5.x and beyond. |
|
4633 |
|
4634 * src/tree.cc (tree_identifier::eval): Correctly handle printing |
|
4635 of identifier tags and conversion to assignment to `ans'. |
|
4636 * src/parse.y (maybe_convert_to_ans_assign): Simplify. |
|
4637 For identifiers, defer decision about making an ans assignment |
|
4638 until evaluation time since identifiers can be undefined at parse |
|
4639 time, and we can't tell what to do until we know what the def is. |
|
4640 * src/tree.cc (tree_identifier::mark_for_possible_ans_assgin): New |
|
4641 function. |
|
4642 * src/tree.cc (tree_index_expression::mark_for_possible_ans_assign): |
|
4643 New function. |
|
4644 * src/tree.h (tree_identifier): Add new private data, |
|
4645 maybe_do_ans_assign. |
|
4646 |
|
4647 * src/t-builtins.cc (builtin_who): Major overhaul. Support long |
|
4648 listings. |
|
4649 (print_symbol_info_line): New function. |
|
4650 (print_long_listing): Ditto. |
|
4651 (maybe_list): Ditto. |
|
4652 |
|
4653 * src/user-prefs.cc (sv_editor): New function for builtin variable |
|
4654 EDITOR. |
|
4655 * src/octave-hist.cc (do_edit_history): Use user_pref.editor, not |
|
4656 just the EDITOR environment variable. |
|
4657 |
|
4658 * src/user-prefs.cc (ignore_function_time_stamp): New function for |
|
4659 new builtin variable ignore_function_time_stamp. |
|
4660 * src/variables.cc (symbol_out_of_date): Use value of new |
|
4661 user_pref.ignore_function_time_stamp to decide whether to check to |
|
4662 see if a file has changed. |
|
4663 * src/tree.h (tree_function): Add new private data, system_m_file. |
|
4664 |
|
4665 * src/builtins.cc (string_variables): Add EDITOR and |
|
4666 ignore_function_time_stamp EDITOR to the list. |
|
4667 (bultin_general_functions): Add is_global to the list. |
|
4668 |
|
4669 * src/t-builtins.cc (builtin_clear): Make it work with new |
|
4670 variable scoping rules. |
|
4671 (builtin_document): Likewise, using new document_symbol() |
|
4672 function. |
|
4673 (builtin_save): Likewise. Allow regular expression arguments. |
|
4674 Don't save builtin variables that are read-only. |
|
4675 |
|
4676 * src/utils.cc (octave_home): Don't declare static. |
|
4677 (octave_lib_dir): Likewise. |
|
4678 (octave_info_dir): Likewise. |
|
4679 (default_editor): New function. |
|
4680 |
|
4681 * src/tree.cc (tree_builtin::def): Delete function. |
|
4682 (tree_identifier::def): Likewise. |
|
4683 (tree_identifier::symrec): Likewise. |
|
4684 |
|
4685 * src/tree.h (tree_builtin): Store name of function, not pointer |
|
4686 to symbol record. |
|
4687 |
|
4688 * src/user-prefs.cc (warn_assign_as_truth_value): Lookup |
|
4689 "warn_assign_as_truth_value", not "user_pref.warn...". |
|
4690 |
|
4691 * src/tree-base.h (def): Delete unused virtual function. |
|
4692 (is_prefix_expression): New virtual function. |
|
4693 (mark_for_possible_ans_assign): Likewise. |
|
4694 (is_system_m_file): Likewise. |
|
4695 (stash_m_file_name): No longer needs to be virtual. |
|
4696 (stash_m_file_time): Likewise. |
|
4697 |
|
4698 * src/octave.cc (octave_Complex_error_handler): Define, to keep |
|
4699 errors in the Complex class from aborting Octave. This is only a |
|
4700 temporary fix, I hope. |
|
4701 (main): Install it. |
|
4702 (initialize_globals): Get default editor. |
|
4703 (main): Call initialize_symbol_tables to do that instead of |
|
4704 creating them directly in main. |
|
4705 |
|
4706 * src/variables.cc (document_symbol): New function. |
|
4707 (initialize_symbol_tables): Likewise. |
|
4708 (install_builtin_mapper_function): Likewise. |
|
4709 (install_builtin_text_function): Likewise. |
|
4710 (install_builtin_general_function): Likewise. |
|
4711 (install_builtin_variable): Likewise. |
|
4712 (install_builtin_variable_as_function): Likewise. |
|
4713 (bind_nargin_and_nargout): Likewise. |
|
4714 (bind_builtin_variable): Likewise. |
|
4715 (link_to_global_variable): Likewise. |
|
4716 (link_to_builtin_variable): Likewise. |
|
4717 (link_to_builtin_or_function): Likewise. |
|
4718 (force_link_to_function): Likewise. |
|
4719 (is_globally_visible): Likewise. |
|
4720 (is_builtin_variable): Likewise. |
|
4721 |
|
4722 * src/tree.cc (print_as_scalar): Avoid trying to print row vectors |
|
4723 on one line. |
|
4724 |
|
4725 * src/builtins.cc (install_buitlins): Simplify installation of |
|
4726 builtin functions using new install_builtin_*_function functions. |
|
4727 Ditto for using bind_builtin_variable for installing variables. |
|
4728 |
|
4729 * src/tree.h (tree_global_command): New class. |
|
4730 * src/tree.cc (tree_global_command::*): Implement new class to |
|
4731 make global command executable. |
|
4732 * src/parse.y (global_decl): Make global an executable statement. |
|
4733 |
|
4734 * src/parse.y (func_def2): Rework to match new way of handling |
|
4735 global variables and function names in the symbol table. |
|
4736 Mark functions as `system' or not. |
|
4737 Don't use id_to_define. |
|
4738 If m-file and function names disagree, rename function to match |
|
4739 m-file name. |
|
4740 * src/tree.cc (tree_identifier::rename): New function. |
|
4741 * src/parse.cc, src/parse.h (id_to_define): Delete unused global |
|
4742 variable. |
|
4743 |
|
4744 * src/varables.cc (builtin_string_variable): Fix to match new |
|
4745 rules for global and builtin variables. |
|
4746 (builtin_real_scalar_variable): Likewise. |
|
4747 |
|
4748 * src/tree.cc (tree_identifier::assign): Make it work with new |
|
4749 rules for global variables. |
|
4750 (tree_identifier::parse_m_file): Likewise. |
|
4751 (tree_identifier::do_lookup): Likewise. |
|
4752 |
|
4753 * src/tree.cc (mark_as_system_m_file): New function. |
|
4754 (is_system_m_file): Ditto. |
|
4755 |
|
4756 * src/tree.cc (clear_symbol_table): New function, to be used in an |
|
4757 unwined_protect element for clearing function symbol tables on |
|
4758 exit or error. |
|
4759 |
|
4760 * src/tree.cc (tree_function::eval): Simplify using |
|
4761 bind_nargin_and_nargout. |
|
4762 Clear symbol table on exit or error with unwind_protect. |
|
4763 |
|
4764 * src/tree.cc (tree_prefix_expression::is_prefix_expression): New |
|
4765 function. |
|
4766 |
|
4767 * src/g-builtins.cc (builtin_is_global): New function. |
|
4768 |
|
4769 * src/lex.l (lookup_identifier): Now that global variable binding |
|
4770 has been fixed, only look for symbols in the current symbol table. |
|
4771 Really. I mean it this time. |
|
4772 |
|
4773 * src/symtab.cc: Complete overhaul, to make global variables work |
|
4774 a bit more reasonably. |
|
4775 |
|
4776 Mon Nov 1 15:03:39 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4777 |
|
4778 * src/Matrix.h (DiagMatrix::rows): Return nr, not len. |
|
4779 (ComplexDiagMatrix::rows): Ditto. |
|
4780 * src/Matrix.h (DiagMatrix::cols): Return nc, not len. |
|
4781 (ComplexDiagMatrix::cols): Ditto. |
|
4782 (DiagMatrix::columns): Ditto. |
|
4783 (ComplexDiagMatrix::columns): Ditto. |
|
4784 |
|
4785 * liboctave/DiagMatrix.cc (DiagMatrix::row): Make it work for |
|
4786 square case. |
|
4787 (DiagMatrix::column): Likewise. |
|
4788 (ComplexDiagMatrix::row): Likewise. |
|
4789 (ComplexDiagMatrix::column): Likewise. |
|
4790 |
|
4791 * liboctave/DiagMatrix.cc (DiagMatrix::operator <<): Print spaces |
|
4792 between elements. |
|
4793 (ComplexDiagMatrix::operator <<): Likewise. |
|
4794 |
|
4795 Fri Oct 29 15:32:12 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4796 |
|
4797 * Version 0.77.1. |
|
4798 |
|
4799 * src/symtab.cc (symbol_record::alias): Don't copy formal_param or |
|
4800 forced_global attribute. |
|
4801 |
|
4802 * src/symtabl.cc (symbol_table::bind_globals): Don't bind to |
|
4803 global symbol unless it has forced_global attribute set. |
|
4804 |
|
4805 * src/tree.cc (print_as_scalar): New function. |
|
4806 (tree_identifier::eval): Use it. |
|
4807 (tree_simple_assignment_expression::eval): Likewise. |
|
4808 (tree_multi_assignment_expression::eval): Likewise. |
|
4809 |
|
4810 * src/lex.l (is_keyword): Give better error message for attempts |
|
4811 to define nested functions. |
|
4812 |
|
4813 * src/parse.y (global_decl): Return a command_list to execute |
|
4814 (this makes assignments in global declarations executable). |
|
4815 |
|
4816 * src/tree.cc (tree_for_command): Handle line and column info in |
|
4817 constructors and for error messages. |
|
4818 (tree_while_command): Ditto. |
|
4819 (tree_if_command): Ditto. |
|
4820 (tree_break_command): Ditto. |
|
4821 (tree_continue_command): Ditto. |
|
4822 (tree_return_command): Ditto. |
|
4823 (*::eval_error): Only print messages if error_state > 0. |
|
4824 (various): Only need to check that error_state is non-zero before |
|
4825 calling eval_error(). |
|
4826 |
|
4827 * src/parse.y: Handle line and column information for FOR WHILE IF |
|
4828 ELSEIF ELSE BREAK CONTINUE and FUNC_RET tokens. |
|
4829 * src/lex.l: Likewise. |
|
4830 |
|
4831 * src/octave.cc (parse_and_execute): Reset parser before starting |
|
4832 new parse. |
|
4833 |
|
4834 * src/tree-plot.cc (various): Check error_state in many more |
|
4835 places, and issue more meaningful error messages. |
|
4836 |
|
4837 * src/tree-const.cc (maybe_resize): Don't call |
|
4838 jump_to_top_level() on errors. |
|
4839 (tree_constant_rep (Range)): Likewise. |
|
4840 |
|
4841 * src/g-builtins.cc (builtin_error): Use error(), not |
|
4842 print_if_string() to print error messages. |
|
4843 * src/tree-const.cc (print_if_string): Delete unused function. |
|
4844 |
|
4845 * src/tc-assign.cc (various): Check error_state after calls to |
|
4846 maybe_resize(). |
|
4847 |
|
4848 * src/tc-index.cc (various): Always check the state of idx_vectors |
|
4849 after trying to create them. |
|
4850 * src/tc-assign.cc (various): Likewise. |
|
4851 |
|
4852 * src/idx-vector.cc: Use 0, not NULL. |
|
4853 Don't include stdlib.h. |
|
4854 (initialized): New data member, set nonzero if the idx_vector has |
|
4855 been properly initialized. |
|
4856 Never call jump_to_top_level () if initialization fails. |
|
4857 Add operator void *(), so we can test the state of an idx_vector |
|
4858 with `if (vector)'. |
|
4859 |
|
4860 * src/pager.cc: Explicitly initialize pager_buf to NULL. |
|
4861 |
|
4862 * src/tree-base.h: Move includes ahead of other definitions. |
|
4863 |
|
4864 * liboctave/NLEqn.cc (NLEqn::NLEqn (const Vector&, const NLFunc)): |
|
4865 Initialize n from xvec, not x. |
|
4866 |
|
4867 Mon Oct 25 18:01:12 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4868 |
|
4869 * src/user-prefs.cc (sv_info_file): New function. |
|
4870 * src/user-prefs.h (user_pref): Add info_file to the list. |
|
4871 * src/t-builtins.cc (try_info): Use it instead of |
|
4872 DEFAULT_INFO_FILE. |
|
4873 |
|
4874 * src/utils.cc (default_info_file): New function. |
|
4875 (octave_info_dir): Likewise. |
|
4876 |
|
4877 * src/defaults.h.in (DEFAULT_INFO_FILE): Delete unnecessary |
|
4878 definition since we figure out what it should be in utils.cc now. |
|
4879 * src/Makefile.in (defaults.h): Don't substitute DEFAULT_INFO_FILE. |
|
4880 * src/Makeconf.in (DEFAULT_INFO_FILE): Delete definition. |
|
4881 |
|
4882 * src/octave.cc (info_file): New global variable. |
|
4883 (initialize_globals): Call default_info_file () to initialize it. |
|
4884 (--info-file): New command line option. |
|
4885 |
|
4886 * src/builtins.cc (string_variables): Add INFO_FILE to the list. |
|
4887 (install_builtins): Define it. |
|
4888 |
|
4889 * info/filesys.c (compress_suffixes): Choose gunzip for .gz files. |
|
4890 |
|
4891 Sat Oct 23 17:46:09 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4892 |
|
4893 * Version 0.77 released. |
|
4894 |
|
4895 * src/Makefile.in (INCFLAGS): Don't include info or dld |
|
4896 directories. |
|
4897 * dynamic-ld.cc: Include dld/dld.h, not just dld.h. |
|
4898 * t-buitlins.cc: Include info/info.h, info/dribble.h, and |
|
4899 info/terminal.h, not just info.h, dribble.h, and terminal.h. |
|
4900 |
|
4901 * src/t-builtins.cc (builtin_help): New option, -i, for invoking |
|
4902 info browser. If -i is not given, just do what we used to do, but |
|
4903 point to help -i as a way to get additional information. |
|
4904 |
|
4905 * builtins.cc (print_usage): New function. |
|
4906 |
|
4907 * g-builtins.cc (all builtins): Call print_usage to get usage message. |
|
4908 * t-builtins.cc (all builtins): Likewise. |
|
4909 |
|
4910 Fri Oct 22 15:56:16 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4911 |
|
4912 * Cholesky changes from R. Bruce Tenison (btenison@eng.auburn.edu): |
|
4913 |
|
4914 * src/f-chol.cc, src/f-chol.h: New files for the Cholesky |
|
4915 Factorization. |
|
4916 * src/Makefile.in (SOURCES, OBJECTS, DLD_OBJECTS): Add to lists. |
|
4917 * src/g-builtins.cc (builtin_chol): New function. |
|
4918 * src/g-builtins.h: Declare it. |
|
4919 |
|
4920 * liboctave/Matrix-ext.cc (CHOL, ComplexCHOL): New classes. |
|
4921 |
|
4922 * libcruft/lapack: dpotrf.f, zpotrf.f, dpotf2.f, zpotf2.f: New |
|
4923 files. |
|
4924 |
|
4925 * libcruft/blas: dsyrk.f, zherk.f: New files. |
|
4926 |
|
4927 Fri Oct 22 14:04:16 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4928 |
|
4929 * src/g-builtins.cc (builtin_schur): Fourth arg for DLD_BUILTIN is |
|
4930 schur, not hess. |
|
4931 |
|
4932 * scripts/dare.m: Correct usage of fprintf. |
|
4933 |
|
4934 * src/utils.cc (raw_mode): Only complain about stdin not a tty if |
|
4935 interactive or forced interactive. |
|
4936 |
|
4937 Thu Oct 21 17:00:57 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
4938 |
|
4939 * src/builtins.cc (install_builtins): Try harder to make |
|
4940 initialization of NaN work. Make note about possible fixes if it |
|
4941 still doesn't work. |
|
4942 |
|
4943 * src/utils.cc (raw_mode): [HAVE_TERMIOS_H] and [HAVE_TERMIO_H] |
|
4944 Don't set TAB3 since it doesn't seem necessary and some systems |
|
4945 don't have it by this name. |
|
4946 [HAVE_SGTTY_H] To be consistent, don't set XTABS here either. |
|
4947 |
|
4948 * src/error.c (error): Call flush_output_to_pager before printing |
|
4949 error message. |
|
4950 (panic): Likewise, before aborting. |
|
4951 |
|
4952 * src/symtab.cc (symbol_record::undefine): Delete unused function. |
|
4953 (symbol_table::undefine): Likewise. |
|
4954 |
|
4955 * src/symtab.cc (clear): Never delete symbol records from the |
|
4956 table. Only delete the definitions. This makes clear and |
|
4957 undefine equivalent, so we don't need them |
|
4958 * src/tree.cc (tree_function::eval): Call symbol_table::clear, not |
|
4959 symbol_table::undefine. |
|
4960 |
|
4961 * src/t-builtins.cc (builtin_clear): Only clear global symbols if |
|
4962 we are at the top level. |
|
4963 * src/parse.y (CLEAR): Delete token. |
|
4964 (word_list_command): Remove code to handle CLEAR as special case. |
|
4965 (expect): Only 19 now. |
|
4966 * src/lex.l (handle_identifier): Remove special code for clear. |
|
4967 It's ok to use it in a function body now. |
|
4968 |
|
4969 * src/t-builtins.cc: Include extern "C" declarations for Info stuff. |
|
4970 (builtin_help): If given an argument, try to get help directly |
|
4971 from info file first. If that fails, do as before. |
|
4972 (help_syms_list): New function: |
|
4973 (simple_help): New function. |
|
4974 (try_info): New function. |
|
4975 (help_from_list): New function. |
|
4976 |
|
4977 * src/defaults.h.in (DEFAULT_INFO_FILE): Define new macro. |
|
4978 * Makeconf.in: Set value of DEFAULT_INFO_FILE. |
|
4979 * Makeconf.in (INSTALL_PROGRAM): Add definition. |
|
4980 * Makefile.in (SUBDIRS): Add info directory. |
|
4981 (info): New target. |
|
4982 * configure.in: Add autoconf macros to handle info configuration. |
|
4983 |
|
4984 * info/Makefile.in: Major changes to make it work with Octave's |
|
4985 Makeconf file, etc. The default action is now to build a |
|
4986 libinfo.a file. |
|
4987 |
|
4988 * info/error.c: New file. Move error functions here from info.c. |
|
4989 |
|
4990 * info/signals.c (clear_info_signal_handler): New function, useful |
|
4991 if info is used directly in another program. |
|
4992 |
|
4993 * info/termdep.h: Handle termios too. |
|
4994 * info/terminal.c (terminal_prep_terminal): Handle termios. |
|
4995 * (terminal_unprep_terminal): Likewise |
|
4996 |
|
4997 * info/session.c (initialize_info_session): Add arg to make |
|
4998 clearing the screen conditional. Useful if we want to call |
|
4999 index_entry_exists() first before displaying anything. |
|
5000 Change all callers. |
|
5001 |
|
5002 * info/session.c (finish_info_session): New function. |
|
5003 |
|
5004 * info/session.c (dispatch_error): Change message to include info |
|
5005 about how to get help and how to quit. |
|
5006 |
|
5007 * info/info.c (index_search_p): New flag. |
|
5008 (--index-search): New option, like apropos, but search the indices |
|
5009 and display the first node found. |
|
5010 |
|
5011 * info/indices.c (do_info_index_search): New function, modified |
|
5012 from info_index_search to allow searching the index for a string |
|
5013 without prompting for it. |
|
5014 (info_index_search): Just call do_info_index_search. |
|
5015 (index_entry_exists): New function, to allow us to find out if |
|
5016 there is an index entry for a given string without actually |
|
5017 displaying anything. |
|
5018 |
|
5019 * info: New directory, containing source for GNU info browser. |
|
5020 |
|
5021 Tue Oct 19 00:14:33 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
5022 |
|
5023 * src/octave-hist.cc (input_from_tmp_history_file): New global flag. |
|
5024 (do_edit_history): Protect and set it. |
|
5025 (do_run_history): Likewise. |
|
5026 * src/parse.y (func_def2): Use it to see that input is coming from |
|
5027 a temporary file. This means that we shouldn't exit when we're |
|
5028 done reading it, and we should treat it just as if the input were |
|
5029 coming from the keyboard. |
|
5030 |
|
5031 * variables.cc (force_global): Force aliasing so it will happen |
|
5032 even if the symbol record is undefined. |
|
5033 |
|
5034 * src/lex.l (lookup_identifier): Simplify |
|
5035 |
|
5036 * src/lex.l (reset_parser): Reset error_state here. |
|
5037 * src/octave.cc (main): Not here. |
|
5038 |
|
5039 Mon Oct 18 14:27:02 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
5040 |
|
5041 * src/tree-const.cc: Delete constructor for tree_constant from |
|
5042 String. |
|
5043 |
|
5044 * In src: tree.h, mappers.h, unwind-prot.h, parse.h, file-io.h, |
|
5045 arith-ops.h, tree-base.h, tree-const.h, g-builtins.h, |
|
5046 idx-vector.h, builtins.h, dynamic-ld.h, xdiv.h, xpow.h, |
|
5047 pr-output.h, input.h, symtab.h, utils.h: Avoid including files |
|
5048 unnecessarily. |
|
5049 |
|
5050 * In src: tc-inlines.cc, mappers.cc, variables.cc, arith-ops.cc, |
|
5051 tree.cc, tree-const.cc, g-builtins.cc, file-io.cc, idx-vector.cc, |
|
5052 tc-assign.cc, tc-index.cc, builtins.cc, dynamic-ld.cc, xdiv.cc, |
|
5053 xpow.cc, pr-output.cc, tc-extras.cc, input.cc, symtab.cc, |
|
5054 utils.cc: Sprinkle liberally with const. |
|
5055 |
|
5056 * In src: f-syl.cc, f-svd.cc, f-schur.cc, f-rand.cc, f-qzval.cc, |
|
5057 f-quad.cc, f-qr.cc, f-qpsol.cc, f-npsol.cc, f-lu.cc, |
|
5058 f-lsode.cc, f-lpsolve.cc, f-inv.cc, f-ifft.cc, f-hess.cc, |
|
5059 f-givens.cc, f-fsqp.cc, f-fsolve.cc, f-fft.cc, f-expm.cc, |
|
5060 f-eig.cc, f-det.cc, f-dassl.cc, f-colloc.cc, f-balance.cc: |
|
5061 Add const qualifier to tree-constant arg. |
|
5062 |
|
5063 Sat Oct 16 12:22:24 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
5064 |
|
5065 * src/tree-const.h, src/tree-const.cc: Add const qualifier to |
|
5066 constructor arguments passed by reference. |
|
5067 Pass Complex arguments by const reference instead of by value. |
|
5068 |
|
5069 * liboctave/Matrix.h, liboctave/Matrix.cc, liboctave/ColVector.cc, |
|
5070 liboctave/RowVector.cc liboctave/DiagMatrix.cc: Pass Complex |
|
5071 arguments by const reference instead of by value. |
|
5072 |
|
5073 Wed Oct 13 14:13:29 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
5074 |
|
5075 * src/utils.cc (decode_prompt_string): ctime returns time_t, which |
|
5076 might not be a long. |
|
5077 |
|
5078 * src/variables.cc (identifier_exists): Only return non-zero if |
|
5079 the name has a definition. |
|
5080 |
|
5081 * src/f-npsol.cc (npsol): Call error(), not message(), to print |
|
5082 error messages. |
|
5083 (linear_constraints_ok): Likewise. |
|
5084 (nonlinear_constraints_ok): Likewise. |
|
5085 |
|
5086 * src/f-qpsol.cc (qpsol): Don't try to create the linear |
|
5087 constraint object before checking array sizes. Wouldn't exception |
|
5088 handling be nice? |
|
5089 Call error(), not message(), to print error messages. |
|
5090 Check to ensure that the bounds on linear constraints are |
|
5091 vectors. |
|
5092 |
|
5093 * src/lex.l (lookup_identifier): Don't bind global variables |
|
5094 immediately in loops or conditionals, even at the top level. |
|
5095 |
|
5096 Sun Oct 10 8:48:00 1993 John Eaton (jwe@schoch.che.utexas.edu) |
|
5097 |
|
5098 * README.doc: New file. |
|
5099 * Makefile.in (doc-dist): New target. |
|
5100 * doc/Makefile.in (FORMATTED): New macro. |
|
5101 (doc-dist): New target. |
|
5102 |
|
5103 * src/tree.cc (tree_identifier::eval): Don't print anything if an |
|
5104 error is encountered. |
|
5105 (tree_simple_assignment_expression::eval): Likewise. |
|
5106 |
|
5107 * src/tc-assign.cc (do_matrix_assignment): Handle resizing |
|
5108 correctly when indices are (:,range), (:,matrix), (range,:), or |
|
5109 (matrix,:) and the lhs is empty or undefined. |
|
5110 |
|
5111 Tue Oct 5 04:02:37 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5112 |
|
5113 * Version 0.76 released. |
|
5114 |
|
5115 * src/octave.cc (main): Print usage message if we are given more |
|
5116 than one extra argument on the command line. |
|
5117 Delay printing startup message until just before setting the toplevel |
|
5118 jump context. |
|
5119 |
|
5120 * src/lex.h (DO_COMMA_INSERT_CHECK): Delete unused macro. |
|
5121 |
|
5122 * src/lex.l (handle_identifier): New function. |
|
5123 ({IDENT}/{S}*=, {IDENT}{S}*): Use it instead of duplicating code. |
|
5124 (do_comma_insert_check): Use yyunput instad of returning original |
|
5125 character count. |
|
5126 Call directly instead of using DO_COMMA_INSERT_CHECK macro. |
|
5127 |
|
5128 Mon Oct 4 08:06:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5129 |
|
5130 * Version 0.75.4. |
|
5131 |
|
5132 * src/tree-const.cc (tree_constant_rep::eval ()): Avoid calling |
|
5133 rows() and columns() for things like magic_colon. |
|
5134 |
|
5135 Sun Oct 3 19:39:33 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5136 |
|
5137 Changes to add line and column info to run-time error messages: |
|
5138 |
|
5139 * src/tree.cc (tree_identifier, tree_prefix_expression, |
|
5140 tree_postfix_expression, tree_simple_assignment_expression, |
|
5141 tree_multi_assignment_expression, tree_colon_expression, |
|
5142 tree_index_expression): Modify constructors to allow line and |
|
5143 column information to be stored. |
|
5144 (abort_on_undefined): Delete (now) unnecessary static variable. |
|
5145 (all eval() functions): If error_state, return immediately. |
|
5146 (tree_matrix::eval ()): Call error and return tree_constant() |
|
5147 instead of jumping to top level on error. |
|
5148 (tree_identifier::parse_m_file ()): When starting to read an |
|
5149 M-file, initialize current_input_column to 1, not 0. |
|
5150 (tree_identifier::eval_undefined_error ()): Improve error message |
|
5151 with line and column info if it is available. Don't abort to top |
|
5152 level on errors. |
|
5153 (tree_function::traceback_error ()): New function. |
|
5154 (tree_function::eval ()): Don't jump to top level on errors. |
|
5155 Call traceback_error if there is an error evaluating the command |
|
5156 list. |
|
5157 |
|
5158 * src/tree.cc (tree_prefix_expression::eval_error ()): New function. |
|
5159 (tree_postfix_expression::eval_error ()): Ditto. |
|
5160 (tree_unary_expression::eval_error ()): Ditto. |
|
5161 (tree_binary_expression::eval_error ()): Ditto. |
|
5162 (tree_simple_assignment_expression::eval_error ()): Ditto. |
|
5163 (tree_multi_assignment_expression::eval_error ()): Ditto. |
|
5164 (tree_colon_expression::eval_error ()): Ditto. |
|
5165 (tree_index_expression::eval_error ()): Ditto. |
|
5166 |
|
5167 * src/tree.cc (tree_function::stash_function_name ()): New function. |
|
5168 * src/parse.y (FCN): Use it. |
|
5169 |
|
5170 * src/lex.l: Return line and column info for many (but not all) |
|
5171 tokens. |
|
5172 |
|
5173 * src/parse.y: Handle token values with the token class defined in |
|
5174 token.cc. |
|
5175 (check_end ()): New function. |
|
5176 (end_error ()): Improve error messages by including line and |
|
5177 column info. |
|
5178 |
|
5179 * src/arith-ops.cc (lots of functions): Don't jump to top level on |
|
5180 errors. |
|
5181 * src/tree.cc (tree_unary_expression::eval ()), |
|
5182 tree_binary_expression::eval ()): Handle error condition here. |
|
5183 |
|
5184 * src/gripes.cc (gripe_nonconformant): Add additional form of this |
|
5185 function to allow message to include dimensions. Change most |
|
5186 callers to use new form |
|
5187 |
|
5188 * src/octave.cc: Initialize column counter to 1, not 0. |
|
5189 (main): Reset error_state before evaluating each top level |
|
5190 command. |
|
5191 |
|
5192 * src/tree-plot.cc (tree_plot_command::eval ()): If error_state, |
|
5193 return immediately. |
|
5194 |
|
5195 * src/tree-const.cc (do_binary_op ()): Return tree_constant() instead |
|
5196 of jumping to top level on errors. |
|
5197 (do_unary_op): Likewise. |
|
5198 (tree_constant_rep::eval ()): If error_state, return immediately. |
|
5199 Convert 1x1 matrices to scalars. |
|
5200 |
|
5201 * src/tc-assign.cc (tree_constant_rep::do_scalar_assignment ()): |
|
5202 Don't jump to top level on error. |
|
5203 If there is an error while attempting to convert an undefined |
|
5204 variable to a matrix, don't suddenly create an empty matrix. |
|
5205 (tree_constant_rep::fortran_style_matrix_assignment ()): Check |
|
5206 return value of range_max_check() and don't jumpt to top level on |
|
5207 errors. |
|
5208 (tree_constant_rep::vector_assignment ()): Check return value of |
|
5209 index_check and don't jump to top level on errors. |
|
5210 (tree_constant_rep::check_vector_assign ()): Don't jump to top |
|
5211 level on errors. |
|
5212 (tree_constant_rep::do_matrix_assignment ()): Check return value |
|
5213 of index_check and don't jump to top level on errors. |
|
5214 |
|
5215 * src/tc-extras.cc (get_dimensions ()): Call error (sets error state) |
|
5216 but don't jump to top level on errors. |
|
5217 (fill_matrix): Return tree_constant() on error. |
|
5218 (identity_matrix): Likewise. |
|
5219 |
|
5220 * src/error.cc (error_state): New global variable, initialize to zero. |
|
5221 (error): Set it to one. |
|
5222 |
|
5223 * src/tc-index.cc (tree_constant_rep::valid_as_scalar_index ()): |
|
5224 Don't declare unused variable retval. |
|
5225 (tree_constant_rep::do_scalar_index ()): Return tree_constant() |
|
5226 instead of jumping to top level on error. |
|
5227 (tree_constant_rep::fortran_style_matrix_index): Don't jump to top |
|
5228 level on indexing or range errors. |
|
5229 (tree_constant_rep::do_vector_index ()): Likewise. |
|
5230 (tree_constant_rep::do_matrix_index ()): Likewise. |
|
5231 |
|
5232 * src/tc-inlines (range_max_check): Return -1 instead of jumping |
|
5233 to top level on error. |
|
5234 (index_check): Likewise. |
|
5235 |
|
5236 * src/utils.cc (check_dimensions): Call error, not warning, and |
|
5237 don't jump to top level. |
|
5238 |
|
5239 * src/tree-base.h (line_num, column_num): New data members for all |
|
5240 tree classes. |
|
5241 (line (), column ()): New virtual functions to access line and |
|
5242 column info. |
|
5243 |
|
5244 * src/lex.l (enum end_tok_type, enum plot_tok_type): Delete |
|
5245 declarations (now in token.h). |
|
5246 |
|
5247 * src/lex.h (YY_INPUT, YY_FATAL_ERROR, DO_COMMA_INSERT_CHECK, |
|
5248 TOK_RETURN, BIN_OP_RETURN): Move macro definition here, from |
|
5249 lex.l. Rename RETURN TOK_RETURN. |
|
5250 |
|
5251 * src/token.cc, token.h: New files that define a class for tokens |
|
5252 that includes line and column information. |
|
5253 |
|
5254 Wed Sep 29 11:15:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5255 |
|
5256 * src/octave.cc: Use GNU getopt to handle option parsing. |
|
5257 * src/getopt.h src/getopt.c src/getopt1.c: New files for GNU |
|
5258 getopt. |
|
5259 * src/Makefile.in: Add them to the appropriate lists. |
|
5260 |
|
5261 * src/utils.cc (raw_mode): Use the termios.h terminal driver |
|
5262 interface if it is available. |
|
5263 * configure.in: Check for termios.h |
|
5264 |
|
5265 * src/tree-plot.cc (tree_subplot_list::print (int, ostrstream&)): |
|
5266 If the data to be plotted is a string but it doesn't name a file, |
|
5267 try sending it to gnuplot directly. |
|
5268 |
|
5269 Tue Sep 28 16:06:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5270 |
|
5271 * liboctave/QPSOL.cc (QPSOL::minimize (double&, int&, Vector&)): |
|
5272 Correct dimensions of work arrays, based on QPSOL source. |
|
5273 Pass ncon, which is max (1, nclin), not n, as the row dimension of |
|
5274 clin. |
|
5275 |
|
5276 * src/f-npsol.cc (linear_constraints_ok): Improve warning for the |
|
5277 case of constraints with zero dimensions. |
|
5278 (nonlinear_constraints_ok): Likewise. |
|
5279 |
|
5280 Mon Sep 27 01:20:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5281 |
|
5282 * Version 0.75.3. |
|
5283 |
|
5284 * Makefile.in (dist): Make file permissions for distribution rw. |
|
5285 (binary-dist): Ditto. |
|
5286 (local-dist): Ditto. |
|
5287 |
|
5288 Sat Sep 25 15:29:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5289 |
|
5290 * src/pr-output.cc: Include stdio.h, for sprintf. |
|
5291 |
|
5292 * src/input.cc (octave_gets): Set octave_gets_line to NULL after |
|
5293 freeing it. |
|
5294 |
|
5295 * Version 0.75.2. |
|
5296 |
|
5297 * liboctave/Matrix.cc (Matrix::operator * (const ColumnVector&): |
|
5298 Correct dimension of return value. |
|
5299 (ComplexMatrix::operator * (const ComplexColumnVector&)): Ditto. |
|
5300 |
|
5301 Tue Sep 21 20:42:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5302 |
|
5303 * src/tree.cc (tree_identifier::assign (tree_constant&)): |
|
5304 Correctly handle case of hiding a function with a variable when |
|
5305 the variable has not been flagged as global. |
|
5306 tree_identifier::assign (tree_constant&, tree_constant*, int)): |
|
5307 Likewise. |
|
5308 |
|
5309 * src/variables.cc (force_global): When a variable is moved to the |
|
5310 global symbol table, mark it as global. |
|
5311 |
|
5312 * src/symtab.cc (symbol_record::symbol_record ()): Initialize |
|
5313 forced_global. |
|
5314 (symbol_record::clear_visible ()): Reset forced_global to zero. |
|
5315 (symbol_record::clear_all ()): Ditto. |
|
5316 (symbol_record::mark_as_forced_global ()): New function. |
|
5317 (symbol_record::is_forced_global ()): New function. |
|
5318 (symbol_record::alias ()): Also copy forced_global attribute. |
|
5319 |
|
5320 * src/symtab.h (symbol_record::forced_global): New private data |
|
5321 member, used to record when a variable has been explicitly |
|
5322 declared global. |
|
5323 |
|
5324 * src/lex.l (lookup_identifier): Look in current scope first. |
|
5325 |
|
5326 Mon Sep 20 03:15:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5327 |
|
5328 * src/parse.y, src/tree.cc, src/tree.h: Allow `for' command to |
|
5329 assign to an index expression, not just an identifier. |
|
5330 |
|
5331 * src/t-builtins.cc (builtin_clear (int, char **)): Don't delete |
|
5332 g_names twice. |
|
5333 |
|
5334 * src/symtab.cc (symbol_table::list (int&)): Make sure count is |
|
5335 initialized to zero. |
|
5336 (symbol_table::var_list (int&)): Ditto. |
|
5337 (symbol_table::fcn_list (int&)): Ditto. |
|
5338 |
|
5339 Sat Sep 18 04:06:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5340 |
|
5341 * src/lex.l, src/parse.y, src/parse.h: Use new global variable |
|
5342 past_plot_range to make gplot and gsplot smarter about |
|
5343 distinguishing plot ranges and literal matrices. |
|
5344 |
|
5345 Fri Sep 17 01:06:30 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5346 |
|
5347 * Version 0.75.1 released. |
|
5348 |
|
5349 * src/f-qzval.cc: Include <float.h> for DBL_EPSILON. |
|
5350 |
|
5351 * src/symtab.cc (symbol_record::save (ostream&, int)): Don't print |
|
5352 a warning for ans being undefined. Call warning to print the |
|
5353 message, and change the text to make it clearer. |
|
5354 (symbol_table::save (ostream&, int)): Don't crash if there aren't |
|
5355 any symbols to save. |
|
5356 |
|
5357 Thu Sep 16 00:21:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5358 |
|
5359 * src/t-builtins.cc (builtin_help): When trying harder to find |
|
5360 help for M-files, only insert the symbol into the global symbol |
|
5361 table if there really is an M-file of the given name in the path. |
|
5362 |
|
5363 Wed Sep 15 02:08:27 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5364 |
|
5365 * Version 0.75. |
|
5366 |
|
5367 * src/Makefile.in (INCLUDES): Distribute defaults.h |
|
5368 (%.d: %.cc): Don't fail if we can't determine dependencies. |
|
5369 (DISTFILES): Include move-if-change. |
|
5370 |
|
5371 Tue Sep 14 21:23:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5372 |
|
5373 * scripts/perror.m: Use err, not info for fsolve section. |
|
5374 |
|
5375 Mon Sep 13 19:29:26 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5376 |
|
5377 * src/utils.cc (get_m_file_names): Call closedir(), not free(), to |
|
5378 dispose of directory structure. |
|
5379 |
|
5380 Sun Sep 12 19:07:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5381 |
|
5382 * src/tree-const.cc (tree_constant_rep::double_value): Rearrange |
|
5383 to avoid warning about reaching end of non-void function. |
|
5384 (tree_constant_rep::matrix_value): Ditto. |
|
5385 |
|
5386 * src/error.cc (panic): Declare volatile. |
|
5387 * src/utils.cc (jump_to_top_level): Declare as `void volatile', |
|
5388 not `volatile void'. |
|
5389 |
|
5390 * src/tree-const.cc (tree_constant_rep::complex_matrix_value): |
|
5391 Make it work even if the internal representation is really a real |
|
5392 or complex scalar or a real matrix. |
|
5393 (tree_constant_rep::complex_scalar_value): Make it work even if |
|
5394 the internal representation is really a real scalar. |
|
5395 |
|
5396 * src/f-syl.cc (syl): Delete ComplexMatrixLoad(). |
|
5397 Use complex_matrix_value(), not ComplexMatrixLoad(). |
|
5398 |
|
5399 * src/tree-const.cc (vector_of_empties): Renamed from empty_tree, |
|
5400 moved from f-syl.cc. |
|
5401 |
|
5402 * src/f-syl.cc (syl): Call vector_of_empties() instead of empty_tree(). |
|
5403 * src/f-qzval.cc (qzvalue): Ditto. |
|
5404 |
|
5405 * src/tree-const.h (tree_constant::is_empty): New inline function. |
|
5406 |
|
5407 * src/f-syl.cc (syl): Call is_empty instead of empty_arg. |
|
5408 * src/f-qzval.cc (qzvalue): Ditto. |
|
5409 * src/f-expm.cc (matrix_exp): Ditto. |
|
5410 |
|
5411 Thu Sep 9 22:40:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5412 |
|
5413 * liboctave/Matrix.cc (Matrix::transpose): Make it work for empty |
|
5414 matrices. |
|
5415 (ComplexMatrix::transpose): Ditto. |
|
5416 |
|
5417 Mon Sep 6 04:56:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5418 |
|
5419 * src/tree-plot.cc (tree_subplot_list::print): If the plot data |
|
5420 is a string and it names a file, plot the data in the file. |
|
5421 |
|
5422 * src/octave.cc (execute_startup_files): Try harder to avoid |
|
5423 executing $HOME/.octaverc twice. |
|
5424 |
|
5425 * liboctave/DAE.cc (DAE::integrate (Vector&, Matrix&, Vector&)): |
|
5426 Add missing parameter in call to integrate() if no critical points |
|
5427 are specified. |
|
5428 |
|
5429 Sat Sep 4 16:18:49 1993 John W. Eaton (jwe@ward.che.utexas.edu) |
|
5430 |
|
5431 * src/octave.cc (execute_startup_files): Don't execute |
|
5432 $HOME/.octaverc twice. |
|
5433 |
|
5434 Mon Aug 30 11:25:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5435 |
|
5436 * src/t-builtins.cc (builtin_clear): Handle regular expressions. |
|
5437 |
|
5438 Fri Aug 27 07:25:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5439 |
|
5440 * liboctave/RowVector.cc: |
|
5441 (RowVector::operator * (const ColumnVector& a) const): Fix brain-o. |
|
5442 |
|
5443 Wed Aug 18 00:29:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5444 |
|
5445 * list_primes.m: New M-file. |
|
5446 |
|
5447 * src/tc-index.cc (do_scalar_index): Handle two vector args of all |
|
5448 ones. |
|
5449 |
|
5450 Tue Aug 17 06:26:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5451 |
|
5452 * src/file-io.cc (process_printf_format): Use NINT for * modifier |
|
5453 argument. |
|
5454 |
|
5455 Mon Aug 16 19:30:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5456 |
|
5457 * src/mappers.cc: (arg (double)): Return pi for negative real values. |
|
5458 |
|
5459 Sun Aug 15 05:08:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5460 |
|
5461 * src/octave-hist.cc (mk_tmp_hist_file): New function, extracted |
|
5462 from do_edit_history. |
|
5463 (do_edit_history): Simplify using mk_tmp_hist_file. |
|
5464 (do_run_history): New function. |
|
5465 (edit_history_repl_hist): New function. |
|
5466 |
|
5467 * src/t-builtins.cc (builtin_run_history): New function. |
|
5468 |
|
5469 * src/builtins.cc (text_functions): Add run_history to the list. |
|
5470 |
|
5471 Fri Aug 13 16:04:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5472 |
|
5473 * tzero.m: New M-file. |
|
5474 * abcdchk.m: New M-file. |
|
5475 * is_symmetric.m: Use tol and norm (A) to decide if A' is close |
|
5476 enough to A to be considered the same. |
|
5477 |
|
5478 Wed Aug 11 15:50:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5479 |
|
5480 * Version 0.74.1. |
|
5481 |
|
5482 Merge in expm changes from A. S. Hodel <scotte@eng.auburn.edu>: |
|
5483 |
|
5484 * f-expm.{h,cc}: New files. |
|
5485 * src/Makefile.in: Include them in the usual places. |
|
5486 * src/g-builtins.cc (builtin_expm): The new matrix_exp returns a |
|
5487 tree_constant by value. |
|
5488 Include f-expm.h |
|
5489 * src/tc-extras.cc (matrix_exp): Delete function. |
|
5490 |
|
5491 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5492 |
|
5493 Merge in qzval changes from A. S. Hodel <scotte@eng.auburn.edu>: |
|
5494 |
|
5495 * f-qzval.{h,cc}: New files. |
|
5496 * src/Makefile.in: Include them in the usual places. |
|
5497 * src/g-builtins.cc (builtin_qzval): New function. |
|
5498 Include f-qzval.h |
|
5499 * src/g-builtins.h: Declare builtin_qzval. |
|
5500 * src/builtins.cc (general_functions): Add qzval to the list. |
|
5501 |
|
5502 * libcruft/eispack: New directory. |
|
5503 * libcruft/Makefile.in (SUBDIRS): Include it. |
|
5504 |
|
5505 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5506 |
|
5507 * configure.in: Add libcruft/balgen/Makefile and |
|
5508 libcruft/eispack/Makefile to the list of files to frob. |
|
5509 |
|
5510 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5511 |
|
5512 Merge in syl changes from A. S. Hodel <scotte@eng.auburn.edu>: |
|
5513 |
|
5514 * lyap.m: New M-file. |
|
5515 |
|
5516 * f-syl.{h,cc}: New files. |
|
5517 * src/Makefile.in: Include them in the usual places. |
|
5518 * src/g-builtins.cc (builtin_syl): New function. |
|
5519 Include f-syl.h |
|
5520 * src/g-builtins.h: Declare builtin_syl. |
|
5521 * src/builtins.cc (general_functions): Add syl to the list. |
|
5522 |
|
5523 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5524 |
|
5525 * src/g-builtins.cc (builtin_balance): Fix typo in doc string. |
|
5526 |
|
5527 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5528 |
|
5529 Merge in givens changes from A. S. Hodel <scotte@eng.auburn.edu>: |
|
5530 |
|
5531 * f-givens.{h,cc}: New files. |
|
5532 * src/Makefile.in: Include them in the usual places. |
|
5533 * src/g-builtins.cc (builtin_givens): New function. |
|
5534 Include f-givens.h |
|
5535 * src/g-builtins.h: Declare builtin_givens. |
|
5536 * src/builtins.cc (general_functions): Add givens to the list. |
|
5537 |
|
5538 * src/Makefile.in: (defaults.h) Quote substitutions. |
|
5539 Use %foo%, not @foo@ to mark substitution. |
|
5540 * src/defaults.h.in: Use %foo%, no @foo@ to do mark things to |
|
5541 substitute. |
|
5542 |
|
5543 * qzhess.m: New M-file. |
|
5544 |
|
5545 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5546 |
|
5547 Merge in balance changes from A. S. Hodel <scotte@eng.auburn.edu>: |
|
5548 |
|
5549 * are, is_controllable.m, is_observable.m, is_square.m, |
|
5550 is_symmetric.m: New M-files. |
|
5551 |
|
5552 * Matrix.h (AEPBALANCE): New class. |
|
5553 (ComplexAEPBALANCE): New class. |
|
5554 (GEPBALANCE): New class. |
|
5555 * Matrix-ext.cc: Add init functions for balancing classes. |
|
5556 |
|
5557 * src/f-balance.{h,cc}: New files. |
|
5558 * src/Makefile.in: Include them in the usual places. |
|
5559 * src/g-builtins.cc (builtin_balance): New function. |
|
5560 Include f-givens.h |
|
5561 * src/g-builtins.h: Declare builtin_balance. |
|
5562 * src/builtins.cc (general_functions): Add balance to the list. |
|
5563 |
|
5564 * libcruft/balgen: New directory. |
|
5565 * libcruft/Makefile.in (SUBDIRS): Include it. |
|
5566 |
|
5567 Tue Aug 10 20:06:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5568 |
|
5569 * configure.in: Use AC_HAVE_LIBRARY to check for -lm. |
|
5570 |
|
5571 * src/Makefile.in (defaults.h): Quote substitutions. |
|
5572 |
|
5573 Mon Aug 9 13:30:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5574 |
|
5575 * README.NLP: New file. |
|
5576 * Makefile.in (DISTFILES): Distribute it. |
|
5577 |
|
5578 Sun Aug 8 19:05:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5579 |
|
5580 * src/move-if-change: New file. |
|
5581 * src/Makefile.in (DISTFILES): Distribute it. |
|
5582 (defaults.h): New rule. |
|
5583 (utils.o): Delete rule, since extra defines are no longer needed. |
|
5584 (INCLUDES): Distribute defaults.h.in. |
|
5585 * src/utils.cc: Include defaults.h to get DEFAULT_PAGER and |
|
5586 OCTAVE_HOME instead of depending on having them defined by the |
|
5587 compile command. |
|
5588 |
|
5589 * configure.in (DEFAULT_PAGER): Use AC_PROGRAMS_CHECK. |
|
5590 If we find less, add `-e' flag, so users won't have to type q to |
|
5591 quit paging. |
|
5592 |
|
5593 Sat Aug 7 13:34:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5594 |
|
5595 * f-*.cc: Renamed from tc-*.cc. (Use f- as the file prefix |
|
5596 because most of these functions are ultimately implemented in |
|
5597 Fortran, and, most importantly, it keeps them grouped together.) |
|
5598 * f-*.h: New files, for external declarations of visible functions |
|
5599 defined in f-*.cc. |
|
5600 * g-builtins.cc: Include them all. |
|
5601 * tree-const.h: Don't declare these functions as friends. |
|
5602 * Makefile.in: Cope with new names. |
|
5603 |
|
5604 * octave.cc (parse_and_execute (char *, int)): Don't declare static. |
|
5605 * octave.h: Declare it extern here. |
|
5606 * octave-hist.cc (do_edit_history): Use it here. |
|
5607 |
|
5608 * octave-hist.cc (do_edit_history): New function. |
|
5609 * t-builtins.cc (builtin_edit_history): Use it. |
|
5610 |
|
5611 * t-builtins.cc, t-builtins.h, builtins.cc: Rename edit to |
|
5612 edit_history. |
|
5613 |
|
5614 * octave-hist.cc (do_history): Print line numbers by default. |
|
5615 Allow quieter output with -q option. |
|
5616 |
|
5617 * g-builtins.cc (builtin_hess): Use DLD_BUILTIN macro to call hess. |
|
5618 * g-builtins.cc (builtin_schur): Likewise |
|
5619 |
|
5620 * tc-hess.cc (builtin_hess_2): Call hess with corrrect args. |
|
5621 * tc-schur.cc (builtin_schur_2): Likewise, for schur dude :-). |
|
5622 |
|
5623 * tc-fsqp.cc (builtin_fsqp_2): Fix typo. |
|
5624 |
|
5625 Thu Aug 5 23:14:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5626 |
|
5627 * input.cc (octave_read): Ensure that the last character in the |
|
5628 buffer is a new line. |
|
5629 |
|
5630 Wed Aug 4 19:25:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5631 |
|
5632 * parse.y (func_def2): Also warn if we encounter a function |
|
5633 definition with the same name as the script file we are reading. |
|
5634 |
|
5635 * tree.cc (tree_identifier::do_lookup): Always return NULL_TREE if |
|
5636 a script file was executed. |
|
5637 |
|
5638 Tue Aug 3 23:25:45 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5639 |
|
5640 * file-io.cc: Delete useless static keyword from File_info class |
|
5641 declaration. |
|
5642 * unwind-prot.cc: Likewise, for unwind_elem and saved_variable |
|
5643 classes. |
|
5644 * tc-rand.cc: Likewise, for enum rand_dist declaration. |
|
5645 * arith-ops.cc: Likewise, for enum Matrix_bool_op declaration. |
|
5646 * tree.cc: Likewise, for struct const_matrix_list declaration. |
|
5647 |
|
5648 Fri Jul 23 01:40:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5649 |
|
5650 * sysdep.cc (malloc_handler): Add missing arg to call to message(). |
|
5651 |
|
5652 Tue Jul 20 04:09:32 1993 John W. Eaton (jwe@june.che.utexas.edu) |
|
5653 |
|
5654 * Version 0.74 released. |
|
5655 |
|
5656 * doinstall.sh (version): Run `./octave -v' to get the version |
|
5657 number instead of grabbing it from version.h. |
|
5658 * Fail if we can't get a version number. |
|
5659 * Install ./octave, not src/octave. |
|
5660 |
|
5661 * Makefile.in (binary-dist): Don't depend on all. |
|
5662 * Link src/octave to ./octave. (Now that there's no source in |
|
5663 binary distributions, why have a src directory?) |
|
5664 |
|
5665 * file-io.cc (process_scanf_format): Rename local variable `i' to |
|
5666 `chars_from_fmt_str'. |
|
5667 * (process_printf_format): Likewise. |
|
5668 |
|
5669 * sighandlers.cc (can_interrupt): New global variable. |
|
5670 * (sigint_handler): Use it to decide whether to jump to top level. |
|
5671 * octave.cc (main): Set it after calling setjmp. |
|
5672 |
|
5673 * octave.cc (main): Declare saved_sigint_handler to be volatile. |
|
5674 |
|
5675 * tree.cc, tree-plot.cc, t-builtins.cc, pager.cc, g-builtins.cc, |
|
5676 file-io.cc: Terminate strstream strings with ends instead of just |
|
5677 using '\0'. |
|
5678 |
|
5679 * file-io.cc (process_scanf_format): Skip leading white space for |
|
5680 %s conversions. |
|
5681 * (fopen_file_for_user): Pass tree_constant arg by reference. |
|
5682 * (do_scanf): If doing fprintf, don't fail if first arg is a |
|
5683 string. |
|
5684 |
|
5685 Mon Jul 19 16:00:22 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5686 |
|
5687 * symtab.cc (pstrcmp): Declare to take char** args, not char*. |
|
5688 |
|
5689 Sun Jul 18 13:02:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5690 |
|
5691 * file-io.cc (return_valid_file): Pass arg by reference. |
|
5692 |
|
5693 * file-io.cc (fclose_internal, fgets_internal, fseek_internal): |
|
5694 Eliminate unnecessary casts to double. |
|
5695 |
|
5696 * file-io.cc (return_valid_file, fgets_internal, fopen_internal, |
|
5697 do_printf, do_scanf): Use is_string_type instead of doing the |
|
5698 comparison ourselves. |
|
5699 * g-builtins.cc (builtin_exist, builtin_getenv, |
|
5700 builtin_shell_command): Ditto. |
|
5701 * tc-colloc.cc (collocation_weights): Ditto. |
|
5702 * tc-extras.cc (eval_string, get_user_input): Ditto. |
|
5703 * tc-rand.cc (rand_internal): Ditto. |
|
5704 * tree-plot.cc (tree_subplot_list::print): Ditto. |
|
5705 * variables.cc (is_valid_function, octave_string_variable): Ditto. |
|
5706 |
|
5707 Thu Jul 15 02:29:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5708 |
|
5709 * doc/Makefile.in (TEXINFO): Distribute texinfo.tex too. |
|
5710 |
|
5711 * t-builtins.cc (load_variable): Warn if replacing local symbol |
|
5712 with global from file. |
|
5713 * Warn if variable is not marked as global in a file, but already |
|
5714 exists as a global symbol, then go ahead and load it as a global. |
|
5715 |
|
5716 Tue Jul 13 01:47:48 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5717 |
|
5718 * lex.l (lookup_identifier): Never alias to global here. |
|
5719 * tree.cc (do_lookup): Don't alias formal parameters to global. |
|
5720 * variables.cc (force_global): Likewise. |
|
5721 * symtab.cc (symbol_table::bind_globals): Likewise. |
|
5722 |
|
5723 * symtab.h (symbol_record::formal_param): New field. |
|
5724 * symtab.cc (symbol_record::mark_as_global_parameter): New function. |
|
5725 * (symbol_record::is_formal_parameter): Ditto. |
|
5726 * tree.cc (tree_identifier::mark_as_formal_parameter): Ditto. |
|
5727 * (tree_parameter_list::mark_as_formal_parameters): Ditto. |
|
5728 * parse.y (param_list): Use it to tag formal parameters. |
|
5729 * (func_def1): Ditto. |
|
5730 |
|
5731 * arith-ops.cc (DIVIDE_BY_ZERO_ERROR): On IEEE machines, allow |
|
5732 divide by zero errors to be suppressed. |
|
5733 * user-prefs.h (warn_divide_by_zero): New user preference. |
|
5734 * user-prefs.cc (warn_divide_by_zero): New function. |
|
5735 * builtins.cc (builtin_string_variables): Install it with default |
|
5736 value of true. |
|
5737 |
|
5738 * tree.cc (tree_multi_assignemnt_expression): Use tree_return_list |
|
5739 instead of tree_param_list. |
|
5740 * (tree_multi_assignment_expression:eval): Make it work. |
|
5741 |
|
5742 * tree.cc (tree_return_list): New class. Allow index expressions |
|
5743 and identifiers in return lists. |
|
5744 * (tree_matrix::to_return_list): Rename from to_param_list. |
|
5745 * parse.y (expression): Use it. |
|
5746 |
|
5747 * parse.y: Increment and decrement maybe_screwed_again instead of |
|
5748 just setting it to zero or one. |
|
5749 |
|
5750 Mon Jul 12 03:23:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5751 |
|
5752 * tc-assign.cc (tree_constant_rep::do_matrix_assignment): Handle |
|
5753 case of lhs being of unknown type. |
|
5754 |
|
5755 * lex.l (check_for_garbage_after_fcn_def): Also ignore trailing |
|
5756 commas and semicolons. |
|
5757 |
|
5758 Sun Jul 11 00:08:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5759 |
|
5760 * Version 0.73.1 released. |
|
5761 |
|
5762 * symtab.cc (symbol_record::alias): Also copy pointer to sv_fcn. |
|
5763 |
|
5764 Sat Jul 10 14:34:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5765 |
|
5766 * tree.cc (tree_function::eval (int, char **, int): New function. |
|
5767 |
|
5768 * symtab.cc (symbol_table::bind_globals): New function. |
|
5769 * tree.cc (tree_function::eval): Use it to associate local symbols |
|
5770 with global data. |
|
5771 |
|
5772 * symtab.cc (alias): Add optional parameter `force'. |
|
5773 |
|
5774 * Version 0.73 released. |
|
5775 |
|
5776 * pr-output.cc: Use D_NINT instead of NINT in some cases to avoid |
|
5777 overflow problems on systems that don't have IEEE Inf. |
|
5778 * mappers.cc (round): Likewise. Also avoids conversion of Inf to |
|
5779 INT_MAX on systems that do have IEEE Inf. |
|
5780 |
|
5781 * builtins.h: Remove definition of NINT. |
|
5782 * tree.h: Likewise. |
|
5783 * tree-const.h: Likewise. |
|
5784 |
|
5785 * utils.cc (NINT): Move function here and improve handling of |
|
5786 extreme values. |
|
5787 * (D_NINT): New function. |
|
5788 |
|
5789 * scripts/isempty.m: Don't require the number of rows and columns |
|
5790 to both be zero. |
|
5791 |
|
5792 Thu Jul 8 16:25:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5793 |
|
5794 * Version 0.72.2. |
|
5795 |
|
5796 * configure.in: Do a better job of grabbing the last argument as |
|
5797 the target_host_type and avoiding setting it to things like |
|
5798 --prefix=/foo/bar |
|
5799 |
|
5800 * tree-const.cc (tree_constant_rep::save): Add default case for |
|
5801 mark_as_global switch to avoid warnings from gcc. |
|
5802 |
|
5803 * variables.cc (force_global): Cope with symbol table changes. |
|
5804 * tree.cc: (tree_identifier::do_lookup): Likewise. |
|
5805 * lex.l (lookup_identifier): Likewise. |
|
5806 * builtins.cc (install_builtins): Likewise. |
|
5807 |
|
5808 * symtab.cc, symtab.h: Massive internal rewrite. |
|
5809 |
|
5810 Wed Jul 7 02:18:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5811 |
|
5812 * tc-assign.cc (tree_constant_rep::do_scalar_assignment): If rhs |
|
5813 is a scalar type, also handle case of lhs being of unknown type. |
|
5814 * Be sure to set the new type of the lhs. |
|
5815 |
|
5816 * tree-base.h: Don't include symtab.h. |
|
5817 * tree-const.h: Ditto. |
|
5818 |
|
5819 Tue Jul 6 22:47:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5820 |
|
5821 * parse.y (func_def2): Remove the function name from the top-level |
|
5822 symbol table if defining on command line (an M-file would never be |
|
5823 parsed if there was already an entry with the same name in the top |
|
5824 level symbol table). |
|
5825 |
|
5826 * parse.y (word_list_command): Allow clear without any arguments. |
|
5827 * tree.cc (word_list_command::eval): Handle word list commands |
|
5828 with no arguments. |
|
5829 |
|
5830 Mon Jul 5 14:43:30 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5831 |
|
5832 * Version 0.72.1. |
|
5833 |
|
5834 * help.cc (operators): Document the double quote character. |
|
5835 |
|
5836 * lex.l (getting_help): Delete unused variable. |
|
5837 * (HELP_FCN): New exclusive start state. |
|
5838 * ({IDENT}{S}*): Set start state to HELP_FCN instead of setting |
|
5839 getting_help. |
|
5840 * ({IDENT}/{S}*=): Likewise. |
|
5841 |
|
5842 * symtab.cc (symbol_table::load): Delete unused function. |
|
5843 |
|
5844 * tree-const.cc (tree_constant::load): Return flag telling whether |
|
5845 the constant is global. |
|
5846 * t-builtins.cc (builtin_load): Handle global variables. |
|
5847 * (builtin_save): Likewise. |
|
5848 |
|
5849 * symtab.cc (symbol_record::save): Don't save builtin variables |
|
5850 (variables marked as eternal are assumed to be builtin). |
|
5851 |
|
5852 * symtab.cc (symbol_record::mark_from_global): New function. |
|
5853 * (symbol_def::undefine): Add optional argument to prevent |
|
5854 deleting symbol's definition. |
|
5855 * (symbol_table::undefine): If this variable has been marked as |
|
5856 defined from a global, call symbol_def::undefine with arg = 1. |
|
5857 * tree.cc (tree_identifier::do_lookup): If a local symbol is |
|
5858 defined from a global, mark it as such. |
|
5859 |
|
5860 * symtab.cc (symbol_record::define (symbol_record*)): Delete |
|
5861 unused function. |
|
5862 |
|
5863 * tree.cc (tree_identifier::do_lookup (int&)): Use operator= |
|
5864 instead of symbol_record::define(). |
|
5865 * variables.cc (force_global (char*)): Likewise. |
|
5866 |
|
5867 Sun Jul 4 01:27:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5868 |
|
5869 * symtab.cc (symbol_record): Define copy constructor and operator=. |
|
5870 |
|
5871 * builtins.cc (install_builtins): Make `i' and `j' read-only |
|
5872 functions. |
|
5873 |
|
5874 * symtab.cc (symbol_record::define): Respect read-only status of |
|
5875 variables and functions. |
|
5876 |
|
5877 Sat Jul 3 19:11:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5878 |
|
5879 * user-prefs.h (print_empty_dimensions): New user preference variable. |
|
5880 * user-prefs.cc (print_empty_dimensions): New function. |
|
5881 * builtins.cc (print_empty_dimesions): Make default value true. |
|
5882 * tree-const.cc (tree_constant_rep::eval): Use value here. |
|
5883 |
|
5884 * cond.m: Handle empty matrices. |
|
5885 * tc-det.m (determinant): Likewise. |
|
5886 * tc-inv.m (inverse): Likewise. |
|
5887 |
|
5888 * tc-hess.cc (hess): Use gripe_square_matrix_required instead of |
|
5889 calling error. |
|
5890 * tc-schur.cc (schur): Likewise. |
|
5891 |
|
5892 * builtins.cc (propagate_empty_matrices): Change default value to |
|
5893 true. |
|
5894 |
|
5895 * tree-const.cc (tree_constant_rep::eval): If a matrix has zero |
|
5896 rows or columns, also print the dimension along with the `[]' |
|
5897 symbol. |
|
5898 |
|
5899 * tree-const.cc (do_binary_op): If ok to propagate empty matrices, |
|
5900 go ahead and do the binary operation so that the result will have |
|
5901 consistent dimensions. |
|
5902 * (do_unary_op): Likewyse. |
|
5903 |
|
5904 * tc-extras.cc (get_dimensions): Don't force both nr and nc to |
|
5905 zero if one is. |
|
5906 * Matrix.cc, DiagMatrix.cc, ColVector.cc, RowVector.cc: Handle |
|
5907 matrices with zero dimensions in a more consistent fashion. |
|
5908 |
|
5909 Thu Jul 1 00:27:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5910 |
|
5911 * perror.m: New M-file. |
|
5912 |
|
5913 * LP.h, LP.cc: New interface for linear programmming. |
|
5914 * LPsolve.h LPsolve.cc: New files to implement linear programming |
|
5915 using lp_solve. |
|
5916 |
|
5917 * NPSOL.cc (minimize): Also return the vector of Lagrange |
|
5918 multipliers. |
|
5919 * tc-npsol.cc (npsol): Optionally return them. |
|
5920 |
|
5921 * QPSOL.cc (minimize): Also return the vector of Lagrange |
|
5922 multipliers. |
|
5923 * tc-qpsol.cc (qpsol): Optionally return them. |
|
5924 |
|
5925 * tc-qpsol.cc (qpsol): Make it work. |
|
5926 |
|
5927 Wed Jun 30 02:19:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5928 |
|
5929 * g-builtins.cc (builtin_lpsolve): New function. |
|
5930 * (builtin_qpsol): Ditto. |
|
5931 * builtins.cc (general_functions): Add them to the list. |
|
5932 |
|
5933 * tc-lpsolve.cc: New file. |
|
5934 * tc-qpsol.cc: Ditto. |
|
5935 * src/Makefile.in: Add them to the list of SOURCES and DLD_OBJECTS. |
|
5936 |
|
5937 Tue Jun 29 15:02:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5938 |
|
5939 * liboctave/DAE.cc (integrate): If stop_time_set is false, reset |
|
5940 default value for info[3]. |
|
5941 * liboctave/ODE.cc (integrate): Likewise, reset default values of |
|
5942 iopt and itask. |
|
5943 |
|
5944 From Thorsten Ohl <ohl@physics.harvard.edu>: |
|
5945 * config.guess: Add check for NeXT. |
|
5946 * configure.in: Add check for NeXT so that readline is configured |
|
5947 properly (really need to improve readline's configuration scheme). |
|
5948 * sysdep.cc (malloc_handler): New function for handling malloc |
|
5949 errors on NeXT systems. |
|
5950 |
|
5951 * octave.cc (main): Call sysdep_init before anything else. |
|
5952 |
|
5953 * sysdep.cc: New file for system dependent things. |
|
5954 |
|
5955 * octave.cc (initialize_globals): Only pass argv[0] since that's |
|
5956 the only thing that's used. |
|
5957 |
|
5958 Sat Jun 26 13:00:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5959 |
|
5960 * tree.cc (tree_builtin::eval (int, char**, int)): Don't panic if |
|
5961 called for something other than a text_fcn. |
|
5962 |
|
5963 * t-builtins.cc (builtin_cd): Rewrite to fix bogus memory |
|
5964 problems. |
|
5965 |
|
5966 Fri Jun 25 15:23:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5967 |
|
5968 * t-builtins.cc (builtin_cd): Don't delete value returned by |
|
5969 get_working_directory. |
|
5970 * g-builtins.cc (builtin_pwd): Likewise, and simplify. |
|
5971 |
|
5972 * utils.cc (make_absolute): Always create a new copy to return. |
|
5973 * utils.cc (change_to_directory): Don't delete pointer returned |
|
5974 from get_working_directory(). |
|
5975 * (file_in_path): Likewise. |
|
5976 |
|
5977 Thu Jun 24 16:48:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5978 |
|
5979 * lex.l ({IDENT}{S}*): Always insert a comma if the next token |
|
5980 doesn't look like some sort of operator, not just if |
|
5981 convert_spaces_to_comma is also true (it may have been turned off |
|
5982 by BIN_OP_RETURN). |
|
5983 |
|
5984 * tree-const.h (matrix_ptr): Delete function. |
|
5985 * tc-extras.cc (frobit): Delete function. |
|
5986 * (get_dimensions): New function. |
|
5987 * (identity_matrix): Completely rewrite. |
|
5988 * (fill_matrix): Likewise. |
|
5989 |
|
5990 Wed Jun 23 13:50:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
5991 |
|
5992 * Matrix-ext.cc (SCHUR::init): Also allow ord flag to be lowercase. |
|
5993 * (ComplexSCHUR::init): Ditto. |
|
5994 * tc-schur.cc (schur): Likewise. |
|
5995 |
|
5996 * Matrix-ext.cc (SCHUR::init): Declare sort as char, not char*, |
|
5997 and pass its address to Lapack. |
|
5998 * (ComplexSCHUR::init): Ditto. |
|
5999 |
|
6000 * Matrix-ext.cc (SCHUR::select_dig): Make static, and move ahead |
|
6001 of first reference in file. |
|
6002 * (SCHUR::select_ana): Likewise. |
|
6003 * (ComplexSCHUR::select_complex_dig): Likewise. |
|
6004 * (ComplexSCHUR::select_complex_ana): Likewise. |
|
6005 |
|
6006 * builtins.cc (install_builtins): Add `J' as an alias for `I'. |
|
6007 |
|
6008 * builtins.cc (install_builtins): Always create a new |
|
6009 tree_constant for each variable, since the symbol table doesn't |
|
6010 know how to share them. |
|
6011 |
|
6012 * tc-schur.cc (schur): Use warning and error functions instead of |
|
6013 writing directly to cerr. |
|
6014 * tc-hess.cc (hess): Ditto. |
|
6015 |
|
6016 * src/Makefile.in (DLD_OBJECTS): Include tc-schur.o and tc-hess.o. |
|
6017 * (SOURCES): Add tc-schur.cc tc-hess.cc. |
|
6018 |
|
6019 * Merge Schur and Hessenberg changes: |
|
6020 |
|
6021 Fri Mar 19 11:01:19 1993 R. Bruce Tenison (btenison@eng.auburn.edu) |
|
6022 |
|
6023 * src/builtins.cc: Changed schur definition to include one more |
|
6024 input. Also changed the help line description |
|
6025 * src/g-builtins.cc: Changed builtin_schur to accept two inputs |
|
6026 Also changed the information to explain ordered schur operation. |
|
6027 * src/tc-schur.cc Added extensions to the SCHUR and ComplexSCHUR |
|
6028 calls to pass extra paramater. Also added check for proper param. |
|
6029 * liboctave/Matrix.h: Modified declarations dgeesx and zgeesx to |
|
6030 accept address of select function. Modified class structures for |
|
6031 SCHUR and ComplexSCHUR to accept extra ordered schur param. |
|
6032 * liboctave/Matrix-ext.cc: Added extensions for the extra ordered |
|
6033 schur paramater. |
|
6034 |
|
6035 Wed Mar 17 15:23:14 1993 R. Bruce Tenison (btenison@eng.auburn.edu) |
|
6036 |
|
6037 * liboctave/Matrix-ext.cc (HESS and ComplexHESS): Added the |
|
6038 Hessenburg decomposition routines. |
|
6039 * liboctave/Matrix.h Added fortran lapack functions definitions |
|
6040 used in the Hessenburg procedure. |
|
6041 * src/g-builtins.cc (builtin_hess): Hessenburg Decomposition routine |
|
6042 added |
|
6043 * src/g-builtins.h (builtin_hess): Added extern definition. |
|
6044 * liboctave/Matrix.h Added classed HESS and ComplexHESS |
|
6045 * src/tree_const.h added defs for hess. |
|
6046 * src/tc-hess.cc (hess): New file for hess function. |
|
6047 |
|
6048 Tue Mar 16 10:46:32 1993 R. Bruce Tenison (btenison@eng.auburn.edu) |
|
6049 |
|
6050 * src/g-builtins.cc (builtin_schur): Schur Decomposition routine |
|
6051 added. |
|
6052 * src/g-builtins.h (builtin_schur): Added extern definition. |
|
6053 * liboctave/Matrix.h Added Classes SCHUR and Complex SCHUR, and |
|
6054 added defs for zgeesx and dgeesx (lapack schur decomp) |
|
6055 * liboctave/Matrix-ext.cc (SCHUR and Complex SCHUR): Ditto. |
|
6056 * src/tree-const.h added defs for schur. |
|
6057 * src/tc-schur.cc (schur): New file for schur function. |
|
6058 |
|
6059 Tue Jun 22 20:18:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6060 |
|
6061 * lex.l (check_for_garbage_after_fcn_def): New function |
|
6062 * parse.y (fcn_end_or_eof): If reading from an M-file, use it to |
|
6063 print warning about trailing garbage after the end of a function |
|
6064 has been found. |
|
6065 |
|
6066 Mon Jun 21 20:21:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6067 |
|
6068 * tc-assign.cc (tree_constant_rep::assign): Handle case of |
|
6069 assignment to unknown constant too. |
|
6070 * (tree_constant_rep::do_scalar_assignment): Don't fail for |
|
6071 unknown_constant type. |
|
6072 * (tree_constant_rep::do_matrix_assignment): Likewise. |
|
6073 |
|
6074 * tree-const.cc (rows): Return 0 for unknown_constant type. |
|
6075 * (columns): Likewise. |
|
6076 |
|
6077 * tree.cc (tree_identifier::assign): Defer defining symbol until |
|
6078 assignment is successful. |
|
6079 * When creating a new dummy tree_constant to assign a value to, |
|
6080 leave it an unknown_constant type. |
|
6081 |
|
6082 * tc-assign.cc (do_scalar_assignment): If the right hand side |
|
6083 isn't a scalar, maybe try to resize instead. |
|
6084 * (do_matrix_assignment): For A(:,int) and A(int,:) cases, also |
|
6085 resize if left hand side is a scalar. |
|
6086 |
|
6087 * norm.m: Allow "fro" to work for scalars and vectors too. |
|
6088 |
|
6089 Sun Jun 20 01:17:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6090 |
|
6091 * NLConst.cc: New file. Move inline function definitions here |
|
6092 from NLConst.h. |
|
6093 |
|
6094 * Objective.cc: New file. Move inline function definitions here |
|
6095 from Objective.h |
|
6096 |
|
6097 * tree.cc (tree_word_list_command::eval): Call strsave for argv[0] |
|
6098 too, and delete argv before returning. |
|
6099 * (tree_builtin::eval): Likewise, for text functions with no |
|
6100 arguments. |
|
6101 |
|
6102 Sat Jun 19 01:37:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6103 |
|
6104 * octave.cc (parse_and_execute): Delete calls to delete_buffer |
|
6105 and switch_to_buffer, since that is taken care of by unwinding the |
|
6106 frame. |
|
6107 |
|
6108 Fri Jun 18 00:08:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6109 |
|
6110 * tree.cc (tree_matrix::eval): Delete useless direct = ptr->direct |
|
6111 and ptr = ptr->next statements from size-determining loop. |
|
6112 |
|
6113 * parse.y (opt_list): New rule. Replace all occurrences of list |
|
6114 with opt_list. |
|
6115 |
|
6116 * tree.cc: (tree_index_expression::eval (int, int)): Don't |
|
6117 complain if the index expression has an empty argument list. |
|
6118 |
|
6119 * octave.cc (initialize_globals): Check return value of |
|
6120 getenv ("HOME") against NULL, not the global variable |
|
6121 home_directory that we are trying to initialize. |
|
6122 |
|
6123 * tree.cc (tree_function::eval): Quick return if command list |
|
6124 is empty. |
|
6125 * parse.y (func_def3): Allow empty function bodies. |
|
6126 |
|
6127 Thu Jun 17 02:08:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6128 |
|
6129 * tree.cc (tree_while_command): Add constructor for case of |
|
6130 expression only. |
|
6131 * parse.y (statement): Allow empty command list for while commands. |
|
6132 |
|
6133 * parse.y (list): Allow empty commands in more places. This ups |
|
6134 the shift/reduce error count by 6, to 19. |
|
6135 |
|
6136 * octave.cc (execute_startup_files): Don't delete sd. |
|
6137 |
|
6138 * octave.cc (initialize_globals): Make copies of all strings. |
|
6139 * Store more humorous messages if things fail. |
|
6140 |
|
6141 Tue Jun 15 11:03:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6142 |
|
6143 * tc-extras.cc (get_user_input): Finish incomplete change to get |
|
6144 input using readline. |
|
6145 |
|
6146 * tc-extras.cc (match_sans_spaces): New function. |
|
6147 * (get_user_input): Use it when checking to see if the user |
|
6148 entered a `quit' command. |
|
6149 |
|
6150 * liboctave/Makefile.in: Don't distribute Makedeps.in or include |
|
6151 Makedeps since we generate dependencies automatically now. |
|
6152 * configure.in: Don't create liboctave/Makedeps. |
|
6153 |
|
6154 Sun Jun 13 18:31:17 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6155 |
|
6156 * src/xdiv.cc (xdiv): Solve least-squares problem if system of |
|
6157 equations is not square, or if it is singular. |
|
6158 * (xleftdiv): Likewise. |
|
6159 |
|
6160 * liboctave/Matrix.h (Matrix::lssolve): New functions for |
|
6161 least-squares solutions of linear systems. |
|
6162 * (ComplexMatrix::lssove): Ditto. |
|
6163 |
|
6164 Sat Jun 12 19:07:07 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6165 |
|
6166 * libcruft/misc/xstopx.f (xstopx): Call dostop, not do_stop. |
|
6167 * libcruft/misc/dostop.c: Rename from do_stop.c |
|
6168 * (dostop): Likewise. |
|
6169 |
|
6170 * src/mappers.cc (xisnan (double)): Define even for systems that |
|
6171 don't have xisnan by always returning false. |
|
6172 * (xisnan (const Complex&)): Likewise. |
|
6173 |
|
6174 Fri Jun 11 19:54:58 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6175 |
|
6176 * doc/Makefile.in (install): Try harder to install info files. |
|
6177 |
|
6178 * libcruft/Makefile.in (install): Run ranlib on installed library. |
|
6179 * liboctave/Makefile.in (install): Ditto. |
|
6180 * readline/Makefile.in (install): Ditto. |
|
6181 |
|
6182 Thu Jun 10 00:15:41 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6183 |
|
6184 * Version 0.72 released. |
|
6185 |
|
6186 * libcruft/*/*.f: Don't call xstopx with '' since some Fortran |
|
6187 compilers object to zero-length strings. |
|
6188 * libcruft/misc/xstopx.f (xstopx): Don't print empty strings or |
|
6189 single blanks. |
|
6190 * libcruft/misc/gen-d1mach.c (main): Likewise, for generated code. |
|
6191 |
|
6192 * test/Makefile.in (check): Set the Tcl variable OCTAVE_PATH. |
|
6193 * test/config/unix-octave.exp: Pass OCTAVE_PATH to OCTAVE using |
|
6194 the new -p flag. |
|
6195 |
|
6196 * builtins.cc (install_builtins): Use load_path instead of calling |
|
6197 default_path(). |
|
6198 |
|
6199 * octave.cc (load_path): New global variable. |
|
6200 * (initialize_globals): Initialize it here by calling default_path(). |
|
6201 * (main): Call initialize_globals() before getting command line |
|
6202 arguments. |
|
6203 * Accept new argument, -p PATH. |
|
6204 |
|
6205 * octave.cc (clean_up_and_exit): Don't print a message when Octave |
|
6206 exits. |
|
6207 |
|
6208 * doinstall.sh: Install M-files in $(libsubdir), not $(libdir). |
|
6209 * Use mkpath to create directories. |
|
6210 * Extract version from version.h. |
|
6211 |
|
6212 * Makeconf.in (version): Compute version just once. |
|
6213 |
|
6214 * (libsubdir): New directory that includes version number, for |
|
6215 installing M-files in (old versions of Octave may not be able to |
|
6216 understand new M-files). |
|
6217 |
|
6218 * src/Makefile.in, libcruft/Makefile.in, liboctave/Makefile.in, |
|
6219 doc/Makefile.in, readline/Makefile.in, scripts/Makefile.in |
|
6220 (install): Use mkpath to create directories. |
|
6221 * scripts/Makefile.in (install): Install M-files in $(libsubdir), |
|
6222 not $(libdir). |
|
6223 |
|
6224 * mkpath.c: New file, from Emacs-19. |
|
6225 * Makefile.in (mkpath): New rule. |
|
6226 * (all): Depend on mkpath |
|
6227 * (binary-dist): Distribute it. |
|
6228 |
|
6229 * config.guess: Update from bothner@cygnus.com. |
|
6230 |
|
6231 * lex.l (<STRING>{QSTR}*[\n\']): Set start state to 0 or MATRIX, |
|
6232 depending on value of braceflag. |
|
6233 * (<DQSTRING>{DQSTR}*[\n\"]): Ditto. |
|
6234 |
|
6235 * tree.cc (tree_matrix::eval): Make sure that strings are nul |
|
6236 terminated. |
|
6237 |
|
6238 Tue Jun 8 16:08:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6239 |
|
6240 * octave.cc (clean_up_and_exit): Print `bye-bye' here. |
|
6241 * g-builtins.cc (builtin_quit): Not here. |
|
6242 |
|
6243 * pager.cc (terminal_columns): If screenwidth <= 0, return a |
|
6244 default value of 80 columns. |
|
6245 * (terminal_rows): Likewise for screenheight and a default of 24 |
|
6246 rows. |
|
6247 |
|
6248 * octave.cc (parse_and_execute): Don't fiddle with interactive |
|
6249 states since that screws paging output. |
|
6250 * tree.cc (parse_m_file): Likewise. |
|
6251 |
|
6252 * parse.y (input): For `simple_list error END_OF_INPUT' and |
|
6253 `error END_OF_INPUT' use ABORT_PARSE. |
|
6254 * Always accept `simple_list END_OF_INPUT'. |
|
6255 * Always abort for `END_OF_INPUT'. |
|
6256 |
|
6257 Mon Jun 8 13:55:41 1993 John C. Campbell (jcc@schoch.che.utexas.edu) |
|
6258 |
|
6259 * file-io.h (fopen_file_for_user): New function declaration. |
|
6260 |
|
6261 * file-io.cc (fopen_file_for_user): New function. |
|
6262 * (fgets_internal): If file doesn't exist open it for user, |
|
6263 also return (double) -1 on EOF |
|
6264 * (fseek_internal), (ftell_internal), (frewind_internal), |
|
6265 (do_printf): Ditto. |
|
6266 * (fopen_internal): Remove warn_on_not_open flag, limit warns. |
|
6267 |
|
6268 Mon Jun 7 00:28:13 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6269 |
|
6270 * file-io.cc (do_scanf): Use `type' wherever possible instead of |
|
6271 hardcoding name in messages. |
|
6272 * (do_printf): Ditto. |
|
6273 |
|
6274 * file-io.cc (fflush_internal): If flushing stdout, flush output |
|
6275 to the pager instead of calling fflush on a stream. |
|
6276 * (do_printf): Make fprintf (stdout, ...) exactly the same as |
|
6277 printf (...). |
|
6278 * (do_scanf): Make fscanf (stdin, ...) exactly the same as |
|
6279 scanf (...). |
|
6280 |
|
6281 * tc-extras.cc (get_user_input): Flush output to pager before |
|
6282 prompting for input. |
|
6283 |
|
6284 * libcruft/Makefile.in (DISTFILES): Distribute STOP.patch to show |
|
6285 the changes made to the Fortran sources. |
|
6286 |
|
6287 * libcruft/*/*.f: Replace STOP statements with calls to xstopx, so |
|
6288 that Fortran programs won't just quit on us. |
|
6289 |
|
6290 * libcruft/misc/xstopx.f: New file. |
|
6291 * libcruft/misc/do_stop.c: New file. |
|
6292 * libcruft/misc/Makefile.in (SPECIAL): Add do_stop.c to the list. |
|
6293 * (SPECIAL_DEPEND): Likewise, for do_stop.o. |
|
6294 * libcruft/Makefile.in (CRUFT_OBJ): Ditto. |
|
6295 |
|
6296 * lex.l (")"): Don't pop the top of the in_brace_or_paren stack if |
|
6297 it's empty. |
|
6298 |
|
6299 Sun Jun 6 00:41:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6300 |
|
6301 * liboctave/CollocWt.cc (init): Always compute Gaussian quadrature |
|
6302 weights instead of trying to compute Radau or Lobatto weights if |
|
6303 the endpoints are included. |
|
6304 * Really do compute roots and derivative weights corresponding to |
|
6305 Legendre polynomials if alpha and beta are zero, even if the |
|
6306 endpoints are included. |
|
6307 |
|
6308 Sat Jun 5 22:19:55 1993 John C. Campbell (jcc@schoch.che.utexas.edu) |
|
6309 |
|
6310 * builtins.cc (builtin_general_functions): Correct max arg counts |
|
6311 for fscanf, scanf, and sscanf. |
|
6312 |
|
6313 * g-builtins.cc (builtin_fscanf): Correct argument checks. |
|
6314 * (builtin_sscanf): Likewise. |
|
6315 |
|
6316 * file-io.cc (fopen_internal): Don't warn for opening new file. |
|
6317 |
|
6318 * file-io.cc (process_printf_format): Handle * for field width and |
|
6319 precision. |
|
6320 * Pass array of arguments and nargin instead of just one arg. |
|
6321 * (do_printf): Call process_printf_format() with new args. |
|
6322 |
|
6323 * file-io.cc (process_scanf_format): New function to handle scanf |
|
6324 dirty work. |
|
6325 * (do_scanf): New function. |
|
6326 |
|
6327 Sat Jun 5 14:09:41 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6328 |
|
6329 * lex.l (YY_FATAL_ERROR): Redefine here to keep from exiting on |
|
6330 fatal scanner errors. |
|
6331 |
|
6332 Fri Jun 4 16:35:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6333 |
|
6334 * tree.cc (tree_multi_assignment_expression::eval (int)): Check to |
|
6335 see if result is NULL before trying to use it. |
|
6336 |
|
6337 * tc-extras.cc (get_user_input): Call gnu_readline() to get input. |
|
6338 |
|
6339 Thu Jun 3 00:30:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6340 |
|
6341 * scripts/*.m: Convert single-quoted strings to use double quotes |
|
6342 since the manual says they are better. |
|
6343 |
|
6344 * Version 0.71.10. |
|
6345 |
|
6346 * doc/Makefile.in (DISTFILES): Distribute octave.info*. |
|
6347 |
|
6348 * Makefile.in (.fname): Delete target and move actions back to the |
|
6349 individual dist targets because this always needs to be done. |
|
6350 * (binary-dist): Strip src/octave. |
|
6351 |
|
6352 * doinstall.sh: New file, for binary distributions. |
|
6353 |
|
6354 Wed Jun 2 15:11:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6355 |
|
6356 * Makefile.in (binary-dist): New target, just like dist, except |
|
6357 also distribute libcruft.a, liboctave.a, libreadline.a and |
|
6358 src/octave. |
|
6359 |
|
6360 * Makefile.in (.fname): New target. |
|
6361 * (links-for-dist): New target. |
|
6362 * (local-dist): Depend on .fname. |
|
6363 * (dist): Depend on .fname and use links-for-dist. |
|
6364 |
|
6365 * octave.cc: Move code to print startup message to just after |
|
6366 option processing so that any messages from startup files will |
|
6367 appear after the normal startup message. |
|
6368 |
|
6369 * utils.cc (get_site_defaults): New function. |
|
6370 * (OCTAVE_HOME): Provide default definition. |
|
6371 |
|
6372 * (SITE_DEFAULTS): Delete definition. |
|
6373 * octave.cc (execute_startup_files): Use get_site_defaults instead. |
|
6374 |
|
6375 * src/Makefile.in (utils.o): Define OCTAVE_HOME to be $(prefix) |
|
6376 here. |
|
6377 |
|
6378 * Makeconf.in: Don't define SITE_DEFAULTS or OCTAVE_M_FILE_DIR. |
|
6379 |
|
6380 * lex.l (do_string_escapes): Recognize `\"'. |
|
6381 |
|
6382 Tue Jun 1 01:28:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6383 |
|
6384 * Version 0.71.9. |
|
6385 |
|
6386 * parse.y (maybe_convert_to_ans_assign): Greatly simplify. |
|
6387 |
|
6388 * file-io.cc (File_info): Convert from struct to proper class. |
|
6389 * (valid_mode): New function. |
|
6390 |
|
6391 * parse.y, parse.h, lex.l, tree-extras.cc (convert_to_ans_assign): |
|
6392 Delete unused variable. |
|
6393 |
|
6394 * builtins.cc (SEEK_CUR): Set to 1 to match (normal) system values. |
|
6395 * (SEEK_END): Likewise, set to 2. |
|
6396 |
|
6397 * statdefs.h: New file. |
|
6398 * Makefile.in (INCLUDES): Add it to the list. |
|
6399 * octave-hist.cc: Include it. |
|
6400 * variables.cc (identifier_exists): Likewise. |
|
6401 * utils.cc (is_newer): Likewise. |
|
6402 |
|
6403 * builtins.cc (SEEK_SET): New builtin varible. |
|
6404 * (SEEK_CUR): Ditto. |
|
6405 * (SEEK_END): Ditto. |
|
6406 * (stdin): Ditto. |
|
6407 * (stdout): Ditto. |
|
6408 * (stderr): Ditto. |
|
6409 |
|
6410 * lex.l (strip_trailing_whitespace): New function. |
|
6411 * ({IDENT}{S}*): Use it. |
|
6412 * (<TEXT_FCN>[^ \t\n\;\,]*): Fix to grab trailing spaces. |
|
6413 Use strip_trailing_whitespce() to delete it before returning. |
|
6414 |
|
6415 Mon May 31 21:00:00 1993 John C. Campbell (jcc@june.che.utexas.edu) |
|
6416 |
|
6417 * file-io.cc, file-io.h: New files to implement C-style file |
|
6418 handling and I/O functions. |
|
6419 * (do_printf): Move here from tc-extras.cc. |
|
6420 * (process_printf_format): Likewise. Also renamed from |
|
6421 process_format. |
|
6422 |
|
6423 Mon May 31 00:52:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6424 |
|
6425 * (tree_function::eval): Now that we can restore values, enable |
|
6426 code to give error for attempts to call functions recursively. |
|
6427 |
|
6428 * octave.cc (parse_and_execute): Use unwind-protect functions to |
|
6429 save and restore state. |
|
6430 * tree.cc (parse_m_file): Likewise. |
|
6431 * (tree_function::eval): Likewise. |
|
6432 * tc-extras (eval_string): Likewise. |
|
6433 |
|
6434 * unwind-prot.cc (saved_variable): New class to hold values of and |
|
6435 pointers to variables we want to restore. |
|
6436 * (restore_saved_variable): New function. |
|
6437 |
|
6438 * unwind-prot.cc (unwind_protect_int_internal): New function. |
|
6439 * (unwind_protect_ptr_internal): Ditto. |
|
6440 * (unwind_protect_var_internal): Ditto. |
|
6441 |
|
6442 * unwind-prot.h (unwind_prot_int): New macro. |
|
6443 * unwind-prot.h (unwind_prot_ptr): Ditto. |
|
6444 * unwind-prot.h (unwind_prot_var): Ditto. |
|
6445 |
|
6446 * variables.cc (symbol_out_of_date ()): Move here from tree.cc. |
|
6447 * (is_valid_function): Fix logic for finding a function |
|
6448 definition, including checking to see if the current symbol |
|
6449 definition is out of date. |
|
6450 |
|
6451 * tree-const.h (is_numeric_or_range_type): New function. |
|
6452 * tree-const.h (is_string_type): New function. |
|
6453 * tree.cc (tree_matrix::eval): Use !is_string_type() instead of |
|
6454 is_numeric_type() to decide that we've seen something other than |
|
6455 a string. |
|
6456 |
|
6457 * parse.y (maybe_warn_assign_as_truth_value ()): New function. |
|
6458 * user-prefs.h (warn_assign_as_truth_value): New preference. |
|
6459 * user-prefs.cc (warn_assign_as_truth_value ()): New function. |
|
6460 * builtins.cc (string_variables): Add it to the list. |
|
6461 |
|
6462 * tree.h (tree_simple_assignment_expression): Rename class from |
|
6463 tree_assignment_expression. |
|
6464 * (tree_assignment_expression): New class, derived from |
|
6465 tree_expression. |
|
6466 * (tree_simple_assignment_expression): Derive from new |
|
6467 tree_assignment_expression class, not tree_expression class. |
|
6468 * (tree_multi_assignment_expression): Ditto. |
|
6469 |
|
6470 Sun May 30 22:40:58 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6471 |
|
6472 * src/Makefile.in (%.d: %.cc): First remove target file, then |
|
6473 redirect into tmp file, and finally move tmp file to target file |
|
6474 only if creating tmp file was successful. |
|
6475 * liboctave/Makefile.in (%.d: %.cc): Ditto. |
|
6476 |
|
6477 Sat May 29 18:18:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6478 |
|
6479 * tree.cc (tree_constant *tree_multi_assignment_expression |
|
6480 ::eval (int print, int nargout)): New function. |
|
6481 * (tree_constant tree_multi_assignment_expression::eval (int print)): |
|
6482 Use it to do the real work. |
|
6483 |
|
6484 * tree.cc (tree_matrix::to_param_list ()): Also allow index |
|
6485 expressions as long as the argument list is missing. |
|
6486 |
|
6487 * parse.y (ans_expression): Now that assignments are just |
|
6488 expressions, don't convert expressions to assignemnts to `ans' if |
|
6489 they already are assignments. |
|
6490 * maybe_convert_to_ans_assign (tree *expr): New function to do the |
|
6491 real work. |
|
6492 |
|
6493 * tree.cc (tree_multi_assignment_expression:: |
|
6494 is_assignement_expression ()): Return 1. |
|
6495 |
|
6496 * tree-base.h (tree::is_index_expression ()): New virtual |
|
6497 function, returns 0. |
|
6498 * tree.cc (tree_index_expression::is_index_expression ()): Return 1. |
|
6499 |
|
6500 * tree.cc (tree_assignment): Construct from tree_index_expression |
|
6501 and a tree. |
|
6502 * (tree_index_expression::ident ()): New function. |
|
6503 * (tree_index_expression::arg_list ()): New function. |
|
6504 |
|
6505 * parse.y (variable): New rule, returns tree_index_expression. |
|
6506 |
|
6507 * parse.y: Rewrite assignment rules so that they are simply |
|
6508 expressions, not special cases. |
|
6509 * Rearrange fact and expression rules into expression (assignement |
|
6510 or simple expression), simple_expr (binary and postfix expressions |
|
6511 or secondary simple expression), and simple_expr1 (constants and |
|
6512 prefix expressions) rules. |
|
6513 * Delete fact rules. |
|
6514 |
|
6515 * parse.y: Make EXPR_EQ and EXPR_NE have the same precedence as |
|
6516 the other relational operators. |
|
6517 |
|
6518 Fri May 28 10:14:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6519 |
|
6520 * unix-octave.exp: Delete use of OCTAVEFLAGS. |
|
6521 |
|
6522 * test/config: New directory. |
|
6523 * test/config/Makefile.in: New file. |
|
6524 * test/config/unix-octave.exp: Rename from test/octave-init.exp. |
|
6525 * test/Makefile.in (SOURCES): Delete octave-init.exp from list. |
|
6526 * configure.in: Add test/config/Makefile to the list of Makefiles |
|
6527 to build. |
|
6528 |
|
6529 * utils.cc (send_to_plot_stream): Plot lines by default. |
|
6530 |
|
6531 Thu May 27 08:03:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6532 |
|
6533 * lex.l (\]): Don't pop the top of the in_brace_or_paren stack if |
|
6534 it's empty. |
|
6535 |
|
6536 * tree.cc (tree_matrix::eval): Make it work for single element |
|
6537 strings as well. |
|
6538 |
|
6539 * Version 0.71.8. |
|
6540 |
|
6541 * lex.l (next_token_is_postfix_unary_op): New function. |
|
6542 * (<MATRIX>{SN}*\]{S}*): Use it as well, to decide whether to |
|
6543 insert a comma. |
|
6544 * (<MATRIX>{S}+): Likewise. |
|
6545 * ({IDENT}{S}*): Likewise. |
|
6546 |
|
6547 Wed May 26 15:37:27 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6548 |
|
6549 * pr-otput.cc (pr_any_float): Use form() now that iostream |
|
6550 formatting bug has been fixed (libg++-2.3.1). |
|
6551 |
|
6552 Mon May 24 15:36:22 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6553 |
|
6554 * tree.cc (any_arg_is_magic_colon): New function. |
|
6555 * (tree_builtin::eval) Use it to avoid calling builtin functions |
|
6556 with `:' arguments. |
|
6557 |
|
6558 Sun May 23 14:07:19 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6559 |
|
6560 * g-builtins.cc (builtin_fprintf): Correct usage message. |
|
6561 |
|
6562 Fri May 21 10:35:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6563 |
|
6564 * Version 0.71.7. |
|
6565 |
|
6566 * octave.cc (main): Always reset_parser() before every call to |
|
6567 yyparse(), not just on a longjmp return. |
|
6568 |
|
6569 * doc/Makefile.in (install): For now, don't try to install |
|
6570 anything. |
|
6571 |
|
6572 * lex.l (<MATRIX>{S}+): Call next_token_is_bin_op() instead of |
|
6573 making the check in line. |
|
6574 * (<MATRIX>{SN}*\]{S}*): Likewise. |
|
6575 * (<MATRIX>{S}+): Likewise. |
|
6576 |
|
6577 * lex.l (looks_like_bin_op): New function. |
|
6578 * (next_char_is_space): Ditto. |
|
6579 * (next_token_is_bin_op): Ditto. |
|
6580 |
|
6581 * lex.l ({IDENT}{S}*): If we're in a brace context and the next |
|
6582 character is an open paren, set convert_spaces_to_comma to 0. |
|
6583 * tree-const.cc (convert_to_str): New function. |
|
6584 * g-builtins.cc (builtin_setstr): New function. |
|
6585 * builtins.cc (builtin_general_functions): Add it to the list. |
|
6586 |
|
6587 Thu May 20 17:56:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6588 |
|
6589 * doc/Makefile.in (SOURCES): Define to be all .texi files. |
|
6590 * (octave.info): Depend on $(SOURCES). |
|
6591 * (octave.dvi): New target. |
|
6592 * Don't distribute the man page. |
|
6593 |
|
6594 * lex.l (<MATRIX>{S}+): If the next character is a plus or minus |
|
6595 followed by a space or tab, don't insert a comma. This makes |
|
6596 input like [1 + 1] == 2 and input like [1 +1] == [1 1]. |
|
6597 * (<MATRIX>{SN}*\]{S}*): Likewise. |
|
6598 |
|
6599 * lex.l (<MATRIX>{S}+): Use in_brace_or_paren and |
|
6600 convert_spaces_to_comma to decide whether to convert spaces to a |
|
6601 comma. |
|
6602 |
|
6603 * lex.l ({IDENT}{S}*): If we're in a brace context and the next |
|
6604 character is an open paren, set convert_spaces_to_comma to 0. |
|
6605 |
|
6606 * lex.l (<MATRIX>{SN}*\]{S}*): Even if we're still inside some braces, |
|
6607 don't always push a comma onto the input. |
|
6608 |
|
6609 * lex.l (<MATRIX>{SN}*\]): Also grab trailing spaces. |
|
6610 * ({IDENT}): Ditto. |
|
6611 |
|
6612 * lex.l (in_brace_or_paren): New stack to keep track of whether |
|
6613 the closest enclosing scope is a pair of braces or parens. When |
|
6614 we see a `[' or a `(', push a flag on the stack. When we see a |
|
6615 `]' or a `)', pop the top of the stack. |
|
6616 |
|
6617 * lex.l (convert_spaces_to_comma): New flag to control lexer behavior. |
|
6618 * (RETURN): Reset it to 1. |
|
6619 * (most other returns): Reset it to 1. |
|
6620 |
|
6621 * lex.l (BIN_OP_RETURN): New macro. Set convert_spaces_to_comma to 0. |
|
6622 * (most binary operators): Use it instead of RETURN. |
|
6623 |
|
6624 * lex.l (match_any): New function. |
|
6625 |
|
6626 Wed May 19 12:51:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6627 |
|
6628 * Range.cc (nelem_internal): Don't allow ranges with more than |
|
6629 INT_MAX elements. Return -1 to indicate failure. |
|
6630 * tree-const.cc (tree_constant_rep::tree_constant_rep (double, |
|
6631 double, double)): Check nelem() to see if the range is valid. |
|
6632 |
|
6633 * pr-output.cc (all_elements_are_ints (Range&)): We only need to |
|
6634 check the base and the increment, not the limit too. |
|
6635 |
|
6636 * Range.cc (nelem_internal): Move function definition here from |
|
6637 Range.h and do a better job of determining the number of elements |
|
6638 in the range. |
|
6639 |
|
6640 Tue May 18 09:06:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6641 |
|
6642 * Version 0.71.6. |
|
6643 |
|
6644 * tc-extras.cc (find_nonzero_elem_idx): Declare inner loop |
|
6645 iteration variables that are used inside later nested loops |
|
6646 in the outer enclosing scope to make this work for old and new |
|
6647 language definitions (see the ARM, chapter 19: "ANSI/ISO |
|
6648 Resolutions", 6.4/6.5: "The statement or statements immediately |
|
6649 controlled by the condition in a selection-statement, or an |
|
6650 iteration-statement introduce an implicit local scope". |
|
6651 * xpow.cc (elem_xpow (Matrix&, Matrix&)): Likewise. |
|
6652 |
|
6653 * tree.cc (tree_identifier::parse_m_file (char*, int)): Set |
|
6654 reading_script_file before calling parse_m_file and restore it |
|
6655 afterward. |
|
6656 |
|
6657 Mon May 17 20:04:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6658 |
|
6659 * octave.h (prog_name): Declare extern. |
|
6660 * (raw_prog_name): Ditto. |
|
6661 |
|
6662 * f2c-compat.sh (ctest.c): Also write a dummy MAIN_ since gcc 2.4 |
|
6663 doesn't seem to create an executable now if there are unresolved |
|
6664 externals, and the linker wants to see it on Suns. |
|
6665 |
|
6666 Thu May 13 01:06:18 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6667 |
|
6668 * Makefile.in (DISTFILES): Include Makeconf.in. |
|
6669 |
|
6670 * configure.in: Set defaults for CFLAGS, CXXFLAGS, LDFLAGS, and |
|
6671 FFLAGS. |
|
6672 * Don't substitute CDEBUG, COPTIMIZE, FOPTIMIZE, or CXXOPTIMIZE. |
|
6673 * Use AC_PROGRAMS_CHECK instead of our own code for checking for a |
|
6674 Fortran compiler. |
|
6675 * Add Makeconf to the list of files to create. |
|
6676 |
|
6677 * src/Makefile.in (octave): Use ALL_LDFLAGS instead of LDFLAGS. |
|
6678 |
|
6679 * Makeconf.in (ALL_CFLAGS, ALL_CXXFLAGS, ALL_LDFLAGS): New macros. |
|
6680 * Allow the user to set CFLAGS, CXXFLAGS, and FFLAGS without |
|
6681 screwing things up. |
|
6682 * (CDEBUG, COPTIMIZE, FOPTIMIZE, CXXOPTIMIZE): Delete. |
|
6683 * Provide rules for making .o from .cc or .c files that use |
|
6684 ALL_CXXFLAGS and ALL_CFLAGS. |
|
6685 |
|
6686 * src/Makefile.in: Generate dependencies automatically using the |
|
6687 method described in the GNU make manual. |
|
6688 * liboctave/Makefile.in: Likewise. |
|
6689 |
|
6690 * All Makefile.in files: Set TOPDIR and include $(TOPDIR)/Makeconf. |
|
6691 * Makeconf.in: New file, for most configuration options. |
|
6692 |
|
6693 * tc-rand.cc (rand_internal): Return an empty matrix for rand (0). |
|
6694 |
|
6695 Wed May 12 01:32:36 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6696 |
|
6697 * octave.cc (clean_up_and_exit): Call close_plot_stream before |
|
6698 quitting. |
|
6699 |
|
6700 * Version 0.71.4. |
|
6701 |
|
6702 * pr-output.cc (octave_print_internal (ostrstream&, Matrix&)): |
|
6703 Handle wrapping columns neatly, respecting value of split_long_rows. |
|
6704 * (octave_print_internal (ostrstream&, ComplexMatrix&)): Ditto. |
|
6705 * (octave_print_internal (ostrstream&, Range&)): Ditto. |
|
6706 |
|
6707 * user-prefs.cc (split_long_rows): New preference variable and |
|
6708 function. |
|
6709 * builtins.cc (builtin_string_variables): Add to list with default |
|
6710 value == true. |
|
6711 |
|
6712 Tue May 11 02:20:43 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6713 |
|
6714 * pr-output.cc (pr_max_internal): Don't count Inf or NaN when |
|
6715 looking for max value. |
|
6716 * (pr_min_internal): Likewise, for min values. |
|
6717 |
|
6718 * pr-output.cc (pr_any_float): Merge pr_float and pr_imag_float. |
|
6719 |
|
6720 * pr-output.cc (any_element_is_inf_or_nan (Matrix&)): New function. |
|
6721 * (any_element_is_inf_or_nan (ComplexMatrix&)): New function. |
|
6722 * (all set_format functions (except Range)): Consider Inf and NaN |
|
6723 when computing field width (we'll either print "Inf" (possibly |
|
6724 with a sign) or "NaN"). |
|
6725 |
|
6726 * pr-output.cc (pr_float): Handle Inf and NaN. |
|
6727 * (pr_imag_float): Ditto. |
|
6728 |
|
6729 * pr-output.cc (set_format_style): Make format short set precision |
|
6730 to 3 and max field width to 8. |
|
6731 |
|
6732 * pr-output.cc (pr_float): Don't print a sign for -0.0. |
|
6733 * (pr_imag_float): Ditto. |
|
6734 |
|
6735 * pr-output.cc (all set_format functions): Return the actual field |
|
6736 width computed or 0 if free format. For complex, return both real |
|
6737 and imaginary field widths. |
|
6738 * Include pager.h for terminal_rows() and terminal_columns(). |
|
6739 |
|
6740 * pr-output.cc (pr_complex): If imaginary part is -0.0, print a |
|
6741 minus sign but convert the value to 0.0 before printing. |
|
6742 |
|
6743 * octave.cc (parse_and_execute (FILE *, int)): Don't use readline |
|
6744 to read commands from files. |
|
6745 * (parse_and_execute (char *, int)): Set reading_script_file |
|
6746 before calling get_input_from_file. |
|
6747 |
|
6748 * Version 0.71.3. |
|
6749 |
|
6750 * src/Makefile.in (deps): New target. |
|
6751 * Update dependencies using the output from running `make deps'. |
|
6752 |
|
6753 * pr-output.cc (set_output_prec_and_fw): New function. |
|
6754 * (set_format_style): Use it. |
|
6755 * (set_format functions): Use user_pref variables for precision |
|
6756 and field width. |
|
6757 |
|
6758 * variables.cc (octave_real_scalar_variable): New function. |
|
6759 * buitlins.cc (builtin_string_varaibles): Add output_precision and |
|
6760 max_field_width to the list (really need a separate list for |
|
6761 numeric values...). |
|
6762 * user-prefs.cc (set_output_max_field_width): New function to be |
|
6763 called when output_max_field_width changes. |
|
6764 * (output_precision): Likewise, for output_precision. |
|
6765 |
|
6766 * sighandlers.cc (pipe_handler_error_count): New global variable. |
|
6767 * (sigpipe_handler): Use it to keep from printing more than one |
|
6768 broken pipe message between prompts. |
|
6769 * (input.cc): Reset pipe_handler_error_count before printing the |
|
6770 prompt. |
|
6771 |
|
6772 Mon May 10 13:06:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6773 |
|
6774 * sighandlers.cc (sigpipe_handler): Issue warning and return |
|
6775 instead of aborting. |
|
6776 |
|
6777 * user-prefs.cc (all sv_* functions): Don't delete previous value |
|
6778 of a preference string if the new value is bogus. |
|
6779 |
|
6780 * user-prefs.cc (all sv_* functions and all functions that handle |
|
6781 user preferences): Return 0 for success, -1 for failure. |
|
6782 * symbtab.cc (symbol_record::define): Check return value of sv_fcn |
|
6783 and restore previous value on failure. |
|
6784 * symtab.h (sv_Function typedef): Change to return int, not void. |
|
6785 * builtins.h (sv_Function typedef): Ditto. |
|
6786 |
|
6787 Sun May 9 18:25:00 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6788 |
|
6789 * user-prefs.cc (all sv_* functions): Issue a warning if the user |
|
6790 gives us something that's not a string. |
|
6791 |
|
6792 Sat May 8 23:40:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6793 |
|
6794 * ColVector.cc (ColumnVector::min): Upper loop limit is len, not 0. |
|
6795 * (ComplexColumnVector::min): Ditto. |
|
6796 * RowVector.cc (RowVector::min): Ditto. |
|
6797 * (ComplexRowVector::min): Ditto. |
|
6798 |
|
6799 Fri May 7 18:41:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6800 |
|
6801 * pr-output.cc (set_format_style): New function, extracted from |
|
6802 builtin_format(). |
|
6803 * t-builtins.cc (builtin_format): Call set_format_style to do real |
|
6804 work. |
|
6805 |
|
6806 * pr-output.cc: New file for special formatted printing funcions. |
|
6807 * tree-const.cc (tree_constant_rep::eval): Use new functions. |
|
6808 |
|
6809 * user-prefs.cc (sv_pager_binary): New function. |
|
6810 * user-prefs.h (user_preferences) Add new field, pager_binary. |
|
6811 * builtins.cc (builtin_string_variables): Add PAGER to the list. |
|
6812 * utils.cc (default_pager): New function. |
|
6813 * Makefile.in: Define DEFAULT_PAGER for utils.cc, not pager.cc. |
|
6814 * pager.cc (get_pager): Delete function. |
|
6815 * Use user_pref.pager_binary instead of calling get_pager(). |
|
6816 |
|
6817 Thu May 6 11:05:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6818 |
|
6819 * pager.cc (pager_buf): Declare as static pointer to ostrstream. |
|
6820 * (initialze_pager): Delete old pager_buf and create new one for |
|
6821 each batch of output. This is needed because once str() is called |
|
6822 for pager buf, it will no longer grow. |
|
6823 |
|
6824 * pager.cc (maybe_page_output): Take care of deleting buffer after |
|
6825 str() is called. |
|
6826 * (flush_output_to_pager): Likewise. |
|
6827 * t-builtins.cc (builtin_ls): Likewise. |
|
6828 * (builtin_set): Likewise. |
|
6829 * (builtin_show): Likewise. |
|
6830 * tc-extras.cc (process_format): Likewise. |
|
6831 * (process_format): Likewise. |
|
6832 * tree-plot.cc (tree_plot_command::eval): Likewise. |
|
6833 |
|
6834 Wed May 5 10:45:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6835 |
|
6836 * g-builtins.cc (builtin_shell_command): Buffer characters with an |
|
6837 ostrstream and call maybe_page_output instead of writing directly |
|
6838 to cout. |
|
6839 * (builtin_warranty): Likewise. |
|
6840 * tc-extras (do_printf): Likewise. |
|
6841 * tree.cc (tree_identifier::eval): Likewise. |
|
6842 * (tree_assignment_expression::eval): Likewise. |
|
6843 * (tree_multi_assignment_expression::eval): Likewise. |
|
6844 * tree-const.cc (tree_constant_rep::eval): Likewise. |
|
6845 * t-builtins.cc (builtin_help): Likewise. |
|
6846 * (builtin_ls): Likewise. |
|
6847 * (builtin_who): Likewise. |
|
6848 |
|
6849 * user-prefs.h user-prefs.cc (page_screen_output): New preference. |
|
6850 * builtins.cc (string_variables): Add to list with default value |
|
6851 of true. |
|
6852 |
|
6853 * input.cc (octave_gets): If interactive, call flush_to_pager() |
|
6854 before prompting. |
|
6855 |
|
6856 * utils.cc (terminal_rows): Move to pager.cc |
|
6857 * (terminal_columns): Likewise. |
|
6858 * (get_pager): Likewise. |
|
6859 |
|
6860 * pager.h, pager.cc: New file to handle pager stuff. |
|
6861 * src/Makefile.in: Fix things to distribute and compile them. |
|
6862 |
|
6863 * libcruft/Makefile.in (CRUFT_OBJ): Strip $(srcdir)/ and convert |
|
6864 from .f to .o in two steps since some versions of GNU make strip |
|
6865 the leading ./ from the output of $(wildcard), causing my pattern |
|
6866 match to fail if compiling in the source tree. |
|
6867 |
|
6868 Tue May 4 09:13:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6869 |
|
6870 * symtab.cc (symbol_record::define (symbol_record *)): Delete old |
|
6871 name before saving new name. |
|
6872 * (symbol_record::document): Likewise, for var.help and fcn.help. |
|
6873 |
|
6874 * parse.y (ABORT_PARSE): Renamed from DO_ABORT. |
|
6875 |
|
6876 Mon May 3 01:00:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6877 |
|
6878 * tree.cc: Define destructors for every class in tree.h. It |
|
6879 appears that it should always be ok to delete everything in a |
|
6880 command tree once we're done executing it. Function definitions |
|
6881 are still ok because the parser doesn't set global_command to the |
|
6882 tree_function we've built (that's saved somewhere in the symbol |
|
6883 table and shouldn't be deleted until we clear or redefine the |
|
6884 function). |
|
6885 |
|
6886 * utils.cc (pathstring_to_vector): Do memory management here so |
|
6887 callers don't have to. |
|
6888 * (default_path): Likewise. |
|
6889 |
|
6890 * utils.cc (make_absolute): Return current_path (not a copy) since |
|
6891 it is static. |
|
6892 * (get_working_directory): Return the_current_working_directory |
|
6893 (not a copy) since it is global. |
|
6894 |
|
6895 * utils.cc (cleanup_tmp_files): Delete filename when done. |
|
6896 |
|
6897 * parse.y: Replace output to cerr with calls to error() or warning(). |
|
6898 * DO_ABORT: New macro. Use it instead of YYERROR for errors that |
|
6899 we detect, and call yyerror since bison doesn't. |
|
6900 * (param_list1): Detect invalid parameter lists. |
|
6901 * (yyerror): Don't print pointer if it is past the end of the line. |
|
6902 |
|
6903 Sun May 2 13:03:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6904 |
|
6905 * tc-extras.cc (process_format): Use ostrstream instead of a |
|
6906 fixed-size character string to buffer the format. |
|
6907 |
|
6908 * utils.cc (terminal_rows): Get info from readline variable |
|
6909 instead of hardcoded constants. |
|
6910 * (terminal_columns): Likewise. |
|
6911 |
|
6912 * utils.cc (maybe_page_output): New function. |
|
6913 * t-builtins.cc (builtin_help): Use it. |
|
6914 * (builtin_who): Ditto. |
|
6915 * Don't include procstream.h anymore since we no longer need it. |
|
6916 |
|
6917 * utils.cc (jump_to_top_level): Call run_all_unwind_protects () |
|
6918 before jumping back to the top level. |
|
6919 |
|
6920 Sat May 1 20:59:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6921 |
|
6922 * unwind-prot.cc unwind-prot.h: New files to implement memory |
|
6923 cleanup stuff. |
|
6924 * src/Makefile.in: Distribute them. |
|
6925 |
|
6926 * Version 0.71.2. |
|
6927 |
|
6928 * computer.m: Delete file. |
|
6929 * scripts/Makefile.in (computer.m): Add $(srcdir)/ prefix to |
|
6930 computer.in. |
|
6931 |
|
6932 Fri Apr 30 17:03:04 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6933 |
|
6934 * Matrix.h (<CLASS>::row (int i)): New function for extracting a |
|
6935 row of a matrix where CLASS is one of Matrix, DiagMatrix, |
|
6936 ComplexMatrix, or ComplexDiagMatrix. |
|
6937 * (<CLASS>:: column (int i)): Likewise for columns. |
|
6938 * (<CLASS>::row (char *s)): Likewise, but selection is done with a |
|
6939 character string. Currently we accept anything beginning with `F' |
|
6940 or `f' to mean the first row and anything beginning with `l' or |
|
6941 `L' to mean the last row. |
|
6942 |
|
6943 Wed Apr 28 14:23:49 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6944 |
|
6945 * scripts/computer.in: New template file for computer.m. |
|
6946 * scripts/Makefile.in (computer.m): Generate a custom computer.m |
|
6947 file using $target_host_type. |
|
6948 * (clean): Delete computer.m. |
|
6949 |
|
6950 * configure.in: If last argument is not empty, use its value as |
|
6951 the TARGET. |
|
6952 * If we aren't given a TARGET, use config.guess to find one. |
|
6953 * Substitute target_host_type. |
|
6954 |
|
6955 * config.guess: New file, taken from gdb distribution. |
|
6956 * Makefile.in: Distribute it. |
|
6957 |
|
6958 * tree-const.cc (force_numeric): New parameter, force_str_conv to |
|
6959 allow us to ignore user preference on string to numeric |
|
6960 conversion. |
|
6961 * (make_numeric): Likewise. |
|
6962 |
|
6963 * tree.cc (tree_matrix::eval): Allow range constants in matrix |
|
6964 lists by simply converting them to matrices. |
|
6965 * Ditto for string constants. |
|
6966 |
|
6967 Tue Apr 27 17:21:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6968 |
|
6969 * utils.cc (smells_like_X11): Delete unneeded function. |
|
6970 * builtins.cc (install_builtins): Don't initialize |
|
6971 graphics_terminal since it's no longer needed. |
|
6972 |
|
6973 * utils.cc (pathstring_to_vector): Call tilde_expand on each |
|
6974 element of the path. |
|
6975 |
|
6976 * mappers.cc: Include float.h for DBL_MAX. |
|
6977 |
|
6978 Wed Apr 21 19:31:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6979 |
|
6980 * mappers.cc (xisnan (Complex&)): Rename from isnan. |
|
6981 * builtins.cc (mapper_functions): Use xisnan instead of isnan. |
|
6982 * (install_builtins): Special case for linux for geenerating |
|
6983 infinity and NaN. |
|
6984 |
|
6985 Mon Apr 19 14:10:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
6986 |
|
6987 * Version 0.71.1 released. |
|
6988 |
|
6989 * symtab.cc (char **sorted_list (int& count)) New function. |
|
6990 * (char **sorted_var_list (int& count)): Ditto. |
|
6991 * (char **sorted_fcn_list (int& count)): Ditto. |
|
6992 * t-builtins.cc (builtin_who): Check symbol count too. |
|
6993 |
|
6994 * utils.cc (send_to_plot_stream): Check is_open(), not just the |
|
6995 state of the stream. |
|
6996 * (close_plot_stream): Likewise. |
|
6997 |
|
6998 * procstream.cc, procstream.h: Rewrite, taking a hint from the GNU |
|
6999 fstream class. |
|
7000 |
|
7001 Sun Apr 18 17:40:54 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7002 |
|
7003 * t-builtins.cc (builtin_help): Don't call list_in_columns if |
|
7004 there isn't anything to list. |
|
7005 |
|
7006 Fri Apr 16 20:57:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7007 |
|
7008 * Makefile.in (DISTDIRS): List dld here. |
|
7009 * (DISTSUBDIRS): Not here. |
|
7010 |
|
7011 Thu Apr 15 12:17:08 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7012 |
|
7013 * Version 0.71 released. |
|
7014 |
|
7015 * scripts/*.m: Improve help messages for most files. |
|
7016 |
|
7017 * libcruft/Makefile.in: Make libcruft.a here. |
|
7018 * libcruft/Makerules.in: Not here. |
|
7019 |
|
7020 * PLOTTING: New file. |
|
7021 * Makefile.in: Add it to the list of files we distribute. |
|
7022 |
|
7023 * g-builtins.cc (builtin_shell_command): New function. |
|
7024 * builtins.cc (general_functions): Add it to the list. |
|
7025 |
|
7026 * procstream.h, procstream.cc (iprocstream): New class. |
|
7027 |
|
7028 * lex.l (<MATRIX>{SN}*\]): Maybe insert a comma after reading a `]'. |
|
7029 |
|
7030 * t-builtins.cc (builtin_load): Do tilde expansion for the file name. |
|
7031 * (builtin_save): Ditto. |
|
7032 |
|
7033 Wed Apr 14 10:40:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7034 |
|
7035 * tree.cc (tree_function::eval): Until we have a proper call frame |
|
7036 unwinding scheme, comment out previous change. |
|
7037 |
|
7038 * tree.cc (tree_matrix::eval): Brain Transplant. |
|
7039 * (tree_matrix::length): New function. |
|
7040 |
|
7041 * tree-base.h (matrix_dir): Delete md_none, md_left, and md_up. |
|
7042 The only valid values are md_unknown, md_right, and md_down. |
|
7043 |
|
7044 Tue Apr 13 20:07:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7045 |
|
7046 * tree.h (tree_function::call_depth): New member variable. |
|
7047 * tree.cc (tree_function::eval): Check it to make recursive |
|
7048 function calls fail (waiting for proper symbol table handling). |
|
7049 |
|
7050 * utils.cc (pathstring_to_vector): Don't prepend `.' here. We do |
|
7051 that already in default_path() if the user hasn't given us a |
|
7052 loadpath. |
|
7053 |
|
7054 * t-builtins.cc (builtin_help): Get help for M-files even if they |
|
7055 haven't been compiled yet. |
|
7056 * List M-files we find in the loadpath. |
|
7057 |
|
7058 * utils.cc (get_m_file_names): Split into two functions, add |
|
7059 parameter to specify whether .m suffix is deleted. |
|
7060 |
|
7061 * lex.l (grab_help_text): New function. |
|
7062 * (beginning_of_function): New global variable. |
|
7063 * (%|#): Call grab_help_text() if at beginning of a function. |
|
7064 * tree.cc (tree_identifier::document): New function. |
|
7065 * parse.y (func_def2): Use it. |
|
7066 * (help_buf): New global buffer for help text. |
|
7067 |
|
7068 Mon Apr 12 00:31:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7069 |
|
7070 * utils.cc (get_m_file_names): New function. |
|
7071 * variables.cc (make_name_list): Use it. |
|
7072 |
|
7073 * t-builtins.cc (list_in_columns): Put output on an strstream |
|
7074 instead of in a String. |
|
7075 * (builtin_help): Use an strstream instead of a String for buffering. |
|
7076 * (builtin_who): Likewise. |
|
7077 |
|
7078 * g-builtins.cc (builtin_keyboard): New function. |
|
7079 * builtins.cc (general_functions): Add to list. |
|
7080 |
|
7081 * tc-extras.cc (get_user_input): If the user enters `exit', |
|
7082 `quit', or `return', return instead of eval'ing the string. |
|
7083 * Don't abort on empty input. |
|
7084 * Add additional argument to handle debugging via new `keyboard' |
|
7085 function. If doing debugging, keep reading until we see `exit', |
|
7086 `quit', or `return'. |
|
7087 |
|
7088 * menu.m: New M-file. |
|
7089 |
|
7090 * New top level plotting functions: |
|
7091 |
|
7092 plot.m semilogx.m semilogy.m loglog.m polar.m |
|
7093 title.m xlabel.m ylabel.m grid.m bar.m |
|
7094 stairs.m mesh.m meshdom.m contour.m |
|
7095 |
|
7096 * New internal plotting functions: |
|
7097 |
|
7098 plot_int.m plot_2_s_s.m plot_2_v_v.m plot_2_v_m.m |
|
7099 plot_2_m_v.m plot_2_m_m.m polar_int.m |
|
7100 |
|
7101 * New utility functions: |
|
7102 |
|
7103 is_scalar.m is_vector.m is_matrix.m |
|
7104 |
|
7105 Sun Apr 11 11:10:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7106 |
|
7107 * t-buitlins.cc (builtin_ls): New function. |
|
7108 * builtins.cc (text_functions): Add it to the list under the names |
|
7109 `ls' and `dir'. |
|
7110 |
|
7111 Sat Apr 10 15:13:05 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7112 |
|
7113 * procstream.cc (oprocstream::close): Set badbit for stream after |
|
7114 it is closed. |
|
7115 |
|
7116 * utils.cc (close_plot_stream): New function. |
|
7117 * g-buitlins.cc (closeplot): New builtin function. |
|
7118 * builtins.cc (general_functions): Add to list. |
|
7119 |
|
7120 * lex.l (cant_be_identifier): New cruft to properly handle the |
|
7121 plot command's `using', `title', and `with' keywords. |
|
7122 |
|
7123 Fri Apr 9 09:38:25 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7124 |
|
7125 * configure.in: Warn if it looks like gnuplot isn't installed. |
|
7126 |
|
7127 * utils.cc (send_to_plot_stream): Check the user's preference for |
|
7128 the gnuplot binary. |
|
7129 |
|
7130 * user-prefs.cc (sv_graphics_terminal): Delete function. |
|
7131 * user-prefs.h (graphics_terminal): Delete variable. |
|
7132 |
|
7133 * tree-plot.cc (tree_subplot_using::print): Add argument to allow |
|
7134 checking of columns given in using command and use it. |
|
7135 * (tree_plot_command::eval): Change caller. |
|
7136 |
|
7137 * parse.y (title): Allow plot title to be any expression. |
|
7138 * tree-plot.cc (subplot_list): Likewise. |
|
7139 |
|
7140 * tree-plot.cc (tree_plot_command::eval): Don't let lusers try to |
|
7141 make 2D parametric plots, since that seems to crash gnuplot. |
|
7142 |
|
7143 * tree.cc (tree_identifier::parse_m_file): Don't try to stash |
|
7144 m-file name or time parsed if we were actually executing a script |
|
7145 file. |
|
7146 |
|
7147 * sombrero.m: New M-file to demonstrate 3D plotting. |
|
7148 |
|
7149 * parse.y (plot_options): Allow them to be specified in any order. |
|
7150 |
|
7151 * g-builtins.cc (builtin_purge_tmp_files): New function. |
|
7152 * builtins.cc (general_functions): Add to list. |
|
7153 |
|
7154 * g-builtins.cc, g-builtins.h (builtin_plot): Delete. |
|
7155 * builtins.cc (general_functions): Delete entry for builtin_plot. |
|
7156 |
|
7157 * t-builtins.cc (builtin_set): Check to see if the user is setting |
|
7158 up parametric plotting. |
|
7159 * tree-plot.cc (parametric_plot): New global variable. |
|
7160 * tree_const.cc (save_three_d): New function. |
|
7161 * tree-plot.cc (tree_subplot_list::print): Handle 3D plots. |
|
7162 |
|
7163 * Makefile.in: Delete everything having to do with distributing or |
|
7164 making gnuplot. |
|
7165 * configure.in: Likewise. |
|
7166 |
|
7167 Thu Apr 8 10:02:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7168 |
|
7169 * utils.cc (send_to_plot_stream): New function. Move declaration |
|
7170 of plot_stream to utils.cc and make static. |
|
7171 |
|
7172 * t-builtins.cc (builtin_set): New function. |
|
7173 * (builtin_show): Ditto. |
|
7174 |
|
7175 * lex.l: Handle set command. |
|
7176 * (doing_set): Yet another global variable to control behavior of |
|
7177 the lexer. |
|
7178 |
|
7179 * tree-plot.cc (tree_subplot_using::print): Print warning if scanf |
|
7180 format string is given. |
|
7181 |
|
7182 * parse.y (ranges1): Allow lower and upper bounds to be optional. |
|
7183 * tree-plot.cc (tree_plot_range::print): Make it work. |
|
7184 |
|
7185 * tree-plot.cc: New file, extracted from tree.cc. |
|
7186 |
|
7187 * sighandlers.cc (install_signals): New function. |
|
7188 * (*_handler): New set of functions to handle signals that would |
|
7189 otherwise cause us to abort. |
|
7190 * (my_friendly_exit): Call exit from most signal_handlers to clean |
|
7191 up tmp files, etc. |
|
7192 |
|
7193 * lex.l (do_string_escapes): Correctly handle '' quotes. |
|
7194 * Warn about unrecognized escape sequences but convert them to the |
|
7195 escaped character anyway. |
|
7196 * (EXPON): New definition. Use it and ? qualifier to shorten the |
|
7197 expressions for matching numbers. |
|
7198 * (ECHAR): New definition. Use it to correctly match |
|
7199 backslash-escaped characters in strings. |
|
7200 * Definitions: Surround multi-character definitions in ()'s to |
|
7201 avoid potential problems with things like {DEF}*. |
|
7202 * (QQ): Rename from DQ. |
|
7203 * (DQSTR): New definition for strings in double quotes. |
|
7204 * (DQSTRING): New start state. Recognizing a naked " puts us here. |
|
7205 * ("\n"): Turn off quote_is_transpose at the beginning of each line. |
|
7206 * Use error functions instead of writing messages directly. |
|
7207 * Don't include iostream.h -- we don't need it now. |
|
7208 * Do include error.h. |
|
7209 |
|
7210 Wed Apr 7 13:12:17 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7211 |
|
7212 * sighandlers.h, sighandlers.cc: New files for signal handling |
|
7213 functions. |
|
7214 * Makefile.in: Include them in the usual places. |
|
7215 * octave.cc (interrupt_handler): Move to sighandlers.cc and rename |
|
7216 to sigint_handler. |
|
7217 |
|
7218 * utils.cc (mark_for_deletion): New function. |
|
7219 * octave.cc (cleanup_tmp_files): New function. |
|
7220 * octave.cc (main): Register cleanup_tmp_files with atexit |
|
7221 (on_exit for sun). |
|
7222 |
|
7223 * Stack.h: Template based stack class converted from libg++ |
|
7224 genclass files. |
|
7225 * SLStack.h: Likewise. |
|
7226 * (SLStack::pop): Avoid apparent bug in SLList::remove_front. |
|
7227 |
|
7228 Tue Apr 6 10:01:52 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7229 |
|
7230 * lex.l (almost_match): New function. |
|
7231 * (plot_style_token): New function. |
|
7232 |
|
7233 * t-buitlins.cc: Include procstream.h instead of procbuf.h. |
|
7234 * (builtin_help): Simplyfy opening of process output stream. |
|
7235 * (builtin_who): Likewise. |
|
7236 |
|
7237 Mon Apr 5 13:48:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7238 |
|
7239 * tc-extras.cc (tree_constant_to_scalar): Move to tree-const.cc |
|
7240 and make it a member function called to_scalar. |
|
7241 * (tree_constant_to_vector): Likewise. |
|
7242 * (tree_constant_to_matrix): Likewise. |
|
7243 |
|
7244 * procstream.h, procstream.cc: New files/classes that implement |
|
7245 an ostream to a process. Built on top of procbuf from libg++. |
|
7246 * src/Makefile.in: Add them to the lists of files/objects. |
|
7247 |
|
7248 Sat Apr 3 23:11:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7249 |
|
7250 * Lots of clean-up changes to parse.y, tree.cc, tree.h, and |
|
7251 tree-base.h. Use more specific types than just <tree *> for |
|
7252 nonterminals. This allows us to have fewer virtual functions in |
|
7253 the base class. Safer. Cleaner. Should have always been this |
|
7254 way... |
|
7255 |
|
7256 Fri Apr 2 10:04:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7257 |
|
7258 * parse.y, lex.l: Fix grammar to accept plot command very similar |
|
7259 to the gnuplot plot command. |
|
7260 |
|
7261 Wed Mar 31 13:11:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7262 |
|
7263 * tree.cc (eval_undefined_error): Until we can figure out how to |
|
7264 clear names without causing problems later on, just remove the |
|
7265 symbol name. |
|
7266 |
|
7267 * tree.h (tree_plot_command): New class. |
|
7268 * (tree_plot_limits): Ditto. |
|
7269 * (tree_plot_range): Ditto. |
|
7270 * (tree_subplot_list): Ditto. |
|
7271 * (tree_subplot_using): Ditto. |
|
7272 * (tree_subplot_style): Ditto. |
|
7273 |
|
7274 * tree-base.h (command_type): Add plot_command to list. |
|
7275 |
|
7276 Mon Mar 29 09:53:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7277 |
|
7278 * find_exec.c (ABSOLUTE_FILENAME_P): Also return true if the |
|
7279 given filename begins with `.'. |
|
7280 |
|
7281 * DAE.cc, DAE.h, DAEFunc.h, tc-dassl.cc: Make sure all calls to |
|
7282 dassl and the user-supplied functions have consistent argument |
|
7283 lists. |
|
7284 |
|
7285 * octave.cc (raw_program_name): New global variable to hold the |
|
7286 unprocessed argv[0]. This is to help dld find the absolute path |
|
7287 to the executing program. |
|
7288 * (initialize_globals): Pass in argc and argv from main. |
|
7289 Initialize raw_prog_name. |
|
7290 |
|
7291 * builtins.cc (general_functions): Correct help message for dassl. |
|
7292 * g-builtins.cc (dassl_usage): Likewise. |
|
7293 |
|
7294 * src/Makefile.in: Lots of changes to make things work with or |
|
7295 without dld. |
|
7296 * Makefile.in: Likewise. |
|
7297 * configure.in: Likewise. |
|
7298 |
|
7299 * dld: New directory, containing our copy of the dld sources. |
|
7300 |
|
7301 * dynamic-ld.cc, dynamic-ld.h: New files to implement dynamic |
|
7302 loading functions. |
|
7303 * src/Makefile.in: Add them to the distribution, compile them if |
|
7304 doing dynamic loading. |
|
7305 |
|
7306 Sun Mar 28 11:03:15 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7307 |
|
7308 * configure.in: When looking for Fortran compilers, check for fc |
|
7309 last to avoid confusion with some vendor's /bin/sh fc builtin. |
|
7310 * Handle new argument --with-dld. |
|
7311 |
|
7312 * g-builtins.cc (builtin_warranty): Add 1993 to list of copyright |
|
7313 dates. |
|
7314 |
|
7315 Sat Mar 27 17:58:23 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7316 |
|
7317 * tc-extras.cc: Rename from tree-extras.cc. |
|
7318 * tc-colloc.cc, tc-dassl.cc, tc-det.cc tc-eig.cc, tc-fft.cc, |
|
7319 tc-fsolve.cc, tc-fsqp.cc, tc-ifft.cc, tc-inv.cc, tc-lsode.cc, |
|
7320 tc-lu.cc, tc-npsol.cc, tc-qr.cc, tc-quad.cc, tc-rand.cc, |
|
7321 tc-svd.cc: Split individual functions from tree-extras.cc. |
|
7322 |
|
7323 * g-builtins.cc (npsol_usage): Improve message. |
|
7324 * (dassl_usage): Likewise. |
|
7325 * (builtin_lsode): Likewise. |
|
7326 * (builtin_fsolve): Likewise. |
|
7327 * (builtin_quad): Likewise. |
|
7328 * builtins.cc (general_functions): Improve corresponding messages. |
|
7329 |
|
7330 * libcruft/fftpack: New directory for fftpack functions. |
|
7331 * libcrutf/fftpack/*.f: Add implicit double precision (a-h,o-z) at |
|
7332 the top of every subroutine. |
|
7333 |
|
7334 * tree-extras.cc (fft): Allow propagation of empty matrices. |
|
7335 * (ifft): Ditto. |
|
7336 |
|
7337 * Matrix.cc (Matrix::fourier): New function. |
|
7338 * (Matrix::ifourier): Ditto. |
|
7339 * mx-inlines (make_complex): New function. |
|
7340 * tree-extras.cc (fft): Use Matrix::fourier instead of doing real |
|
7341 to complex conversion here and calling ComplexMatrix::fourier. |
|
7342 * (ifft): Likewise, for ifourier. |
|
7343 |
|
7344 Sat Mar 27 17:56:59 1993 Fook Fah Yap (ffy@eng.cam.ac.uk) |
|
7345 |
|
7346 * Matrix.cc (ComplexMatrix::fourier): New function for fft. |
|
7347 * (ComplexMatrix::ifourier): New function for inverse fft. |
|
7348 |
|
7349 * builtins.cc (general_functions): Add fft and ifft to the list of |
|
7350 builtin functions. |
|
7351 |
|
7352 * g-builtins.cc (fft): New function. |
|
7353 * (ifft): Ditto. |
|
7354 |
|
7355 * tree-extras.cc (fft): New function. |
|
7356 * (ifft): Ditto. |
|
7357 |
|
7358 Sat Mar 27 13:53:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7359 |
|
7360 * octave.cc (usage_string): New file scope constant. |
|
7361 * (getopt_option_string): Ditto. |
|
7362 |
|
7363 * error.cc: Declare all arguments const since we don't change them. |
|
7364 |
|
7365 * utils.cc (print_str_or_null): Delete unused function. |
|
7366 * utils.h: Delete declaration. |
|
7367 |
|
7368 * tc-assign.cc, tc-index.cc, tc-inlines.cc, tree.cc, |
|
7369 tree-const.cc: More error message cleanups. |
|
7370 |
|
7371 * tree-const.cc (print_if_string): Don't write to cerr |
|
7372 unconditionally. |
|
7373 |
|
7374 Fri Mar 26 22:00:18 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7375 |
|
7376 * tree-extras.cc (min): Avoid function calls as arguments for MIN. |
|
7377 * (column_min): Ditto. |
|
7378 * (max): Likewise, for MAX. |
|
7379 * (column_max): Ditto. |
|
7380 |
|
7381 * tree-const.h (NINT): Make it an inline function instead of a |
|
7382 macro. |
|
7383 |
|
7384 * tree-extras.cc (fill_matrix (tree_constant&, double, char*)): |
|
7385 Convert to scalar type for complex values too. |
|
7386 |
|
7387 * error.h (panic_impossible): New macro to be used in place of |
|
7388 assert (0) calls. |
|
7389 * All .cc files: Replace calls to assert (0) and abort () with |
|
7390 panic_impossible (). |
|
7391 |
|
7392 * Many .cc files:: Replace many instances of `cerr << ...' with |
|
7393 calls to gripe() functions. |
|
7394 |
|
7395 * gripes.h, gripes.cc: New functions for reporting common errors. |
|
7396 * Makefile.in: Include them in the usual places. |
|
7397 |
|
7398 Thu Mar 25 18:42:49 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7399 |
|
7400 * Many .cc files:: Replace many instances of `cerr << ...' with |
|
7401 calls to error() functions. |
|
7402 |
|
7403 * error.h, error.cc: New functions for reporting errors in a |
|
7404 consistent way. |
|
7405 * Makefile.in: Include them in the usual places. |
|
7406 |
|
7407 Wed Mar 17 17:29:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7408 |
|
7409 * symtab.cc (symbol_table::save): New functions. |
|
7410 * t-buitlins.cc (builtin_save): Use new functions for saving |
|
7411 symbols. Handle case of saving all variables. |
|
7412 |
|
7413 * g-builtins.cc (builtin_pause): If one argument is given, pause |
|
7414 for that many seconds before continuing. Otherwise, wait for user |
|
7415 input. |
|
7416 |
|
7417 * symtab.cc (clear): Actually delete undefined symbol_records and |
|
7418 remove their names from the list. |
|
7419 |
|
7420 * lex.l (lookup_identifier): New function. Avoid putting global |
|
7421 names in the local symbol table. |
|
7422 * ({IDENT}): Use it |
|
7423 * ({IDENT}/{S}*=): Ditto. |
|
7424 |
|
7425 * tc-index.cc (do_scalar_index (tree_constant*, int)): Make |
|
7426 indexing like a([1,1,1,1]) work for scalars. GAG. |
|
7427 |
|
7428 Tue Mar 16 20:08:23 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7429 |
|
7430 * t-buitlins.cc (builtin_cd): Call tilde_expand (from readline) on |
|
7431 the argument. |
|
7432 |
|
7433 * lex.l (discard_until): Delete unused function. |
|
7434 * When reading numbers, abort if scanf fails to read a number that |
|
7435 we think it should. |
|
7436 * (IDENT): New macro to match identifiers. |
|
7437 * ([_a-zA-Z][_a-zA-Z0-9]*): Use the / operator for trailing |
|
7438 context and split into two cases instead of trying to do the |
|
7439 lookahead ourselves. |
|
7440 |
|
7441 * lex.l (do_comma_insert_check): Return the value yyleng had |
|
7442 before yyinput() is called. |
|
7443 * (DO_COMMA_INSERT_CHECK): New macro. This avoids the use of |
|
7444 unput() in do_comma_insert_check() since there seems to be a bug |
|
7445 in flex when calling unput() for '\n'. |
|
7446 |
|
7447 Note that this change is necessary if we want to use yyless() |
|
7448 since we cant call yyless() from outside of yylex(), because |
|
7449 Flex's yyless() is a macro that uses some variables local to |
|
7450 yylex(). |
|
7451 |
|
7452 Mon Mar 15 11:03:43 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7453 |
|
7454 * tree.cc (tree_matrix::eval): Undo part of previous change to |
|
7455 make a = [1,2;3,4]; [a,a;a,a] work again. |
|
7456 |
|
7457 * parse.y (input): Don't abort for simple_list followed by EOF. |
|
7458 |
|
7459 Sun Mar 14 14:38:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7460 |
|
7461 * RowVector.cc (RowVector::operator << ()): Insert a space between |
|
7462 each element. |
|
7463 * (ComplexRowVector::operator << ()): Ditto. |
|
7464 |
|
7465 * g-buitlins.cc (plot): Don't declare plot_prog or plot_term as |
|
7466 static, and don't delete them. |
|
7467 |
|
7468 * Matrix.h (all checkelem functions): Don't check for range errors |
|
7469 if NO_RANGE_CHECK is defined. |
|
7470 |
|
7471 Sat Mar 13 10:18:51 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7472 |
|
7473 * Matrix.cc (ComplexMatrix::prod): Make it work. |
|
7474 |
|
7475 Thu Mar 11 00:08:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7476 |
|
7477 * Matrix.h (ellum): Delete function. |
|
7478 * Declare and define new const elem, checkelem, and operator() |
|
7479 functions. |
|
7480 |
|
7481 * ColVector.cc, DiagMatrix.cc, RowVector.cc, Matrix.cc, ODE.cc, |
|
7482 LinConst.cc, FEGrid.cc, DAE.cc, Bounds.cc, FEGrid.h: |
|
7483 Change all callers. |
|
7484 * tree-const.cc, tree-extras.cc, xdiv.cc, xpow.cc: Ditto. |
|
7485 |
|
7486 * tree.cc (tree_matrix::eval): Improve row and column mismatch |
|
7487 checking -- [[1,2];[3,4]] works now, and [1,2;3,4,[5,6]] is |
|
7488 rejected. |
|
7489 * Reformat error messages to include `error:' prefix. |
|
7490 |
|
7491 Wed Mar 10 14:02:09 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7492 |
|
7493 * lex.l (do_comma_insert): New global variable. |
|
7494 * (reset_parser): Reset it. |
|
7495 * lex.l (do_comma_insert_check): New function. Call it wherever a |
|
7496 token can be directly followed by '['. |
|
7497 * (\[{S}*): Check the value of do_comma_insert. |
|
7498 |
|
7499 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only look for names in the |
|
7500 current symbol table. |
|
7501 |
|
7502 * parse.y (word_list_cmd): Special case to disallow use of clear |
|
7503 inside a fuction body. |
|
7504 |
|
7505 * parse.y (CLEAR): New %token. |
|
7506 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Return it if token is "clear". |
|
7507 |
|
7508 * t-builtins.cc (builtin_clear): Allow global symbols to be |
|
7509 cleared. |
|
7510 |
|
7511 * symtab.cc (symbol_table::undefine): Clarify comment. |
|
7512 * (symbol_table::clear): Don't actually remove names from the |
|
7513 table, just force them to be undefined. |
|
7514 |
|
7515 * tree.h (tree_function): Delete unused data member `id'. |
|
7516 * tree.cc (tree_function constructors): Don't initialize id. |
|
7517 |
|
7518 Mon Mar 8 15:50:28 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7519 |
|
7520 * Version 0.70 released. |
|
7521 |
|
7522 * src/Makefile.in: Update dependencies. |
|
7523 |
|
7524 * tree.h: Include stdio.h, for FILE. |
|
7525 |
|
7526 * gnuplot-build: For now, always define -DNOGAMMA. |
|
7527 * configure.in: Don't check for gamma(). |
|
7528 |
|
7529 * libcruft/Makerules.in: Don't use lib.a(obj.o) style dependencies |
|
7530 because it's too slow for large archives. |
|
7531 * liboctave/Makefile.in: Ditto. |
|
7532 |
|
7533 Sun Mar 7 16:33:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7534 |
|
7535 * octave.cc (parse_and_execute): Save and restore current column |
|
7536 number. Set input line and column number to zero. |
|
7537 * tree.cc (parse_m_file): Likewise. |
|
7538 |
|
7539 * tree.cc (tree_identifier::parse_m_file (FILE*, int*)): New |
|
7540 function. If a parse error occurs, ensure that the symbol is |
|
7541 cleared from the global symbol table. |
|
7542 * (tree_identifier::parse_m_file (char*, int): Use it. |
|
7543 |
|
7544 * tree.cc (tree_identifier::do_lookup): New function. |
|
7545 * (tree_identifier::eval): Use it. |
|
7546 |
|
7547 * utils.cc (decode_prompt_string): Really do use value of PWD. |
|
7548 |
|
7549 * user_prefs.cc (sv_loadpath, sv_ps1, sv_ps2, sv_pwd, |
|
7550 sv_gnuplot_binary, sv_graphics_terminal): New functions. |
|
7551 * (sv_graphics_terminal): Warn if terminal isn't valid, but set it |
|
7552 anyway (it's too late to do anything by the time the function is |
|
7553 called). |
|
7554 * In functions that use these variables: Use the value from the |
|
7555 user_pref structure instead of doing a symbol table lookup. |
|
7556 |
|
7557 * builtins.cc (builtin_string_variables): Add functions to call |
|
7558 for LOADPATH, PS1, PS2, PWD, gnuplot_binary, and graphics_terminal. |
|
7559 |
|
7560 * builtins.cc (PS2): New builtin_string_variables. Set default |
|
7561 value to "> ". |
|
7562 * input.cc (octave_gets): Use it instead of no prompt for |
|
7563 continued input. |
|
7564 |
|
7565 * parse.y (yyerror): Use line, column, file name, and text of |
|
7566 current input line to print better parse error messages. |
|
7567 |
|
7568 * lex.l (NEW_MATRIX): New exclusive start state. Need this to be |
|
7569 able to match \[{SN}* _and_ get secondary prompting right. |
|
7570 |
|
7571 * input.cc (octave_read): Keep track of current input line. |
|
7572 * tree.cc (parse_m_file): Save and restore current line number. |
|
7573 |
|
7574 * lex.l (all patterns): Keep track of current input column. |
|
7575 * (fixup_column_count): New function to deal with patterns that |
|
7576 match more than one line. |
|
7577 |
|
7578 * input.h, input.cc (current_input_line): Global pointer to |
|
7579 the text of the current input line. |
|
7580 |
|
7581 * parse.y, parse.h (input_line_number, current_input_column): New |
|
7582 global variables. |
|
7583 |
|
7584 * Almost all source files: Finish (for now, at least) the |
|
7585 reorganization we started for global variables. |
|
7586 |
|
7587 Wed Mar 3 14:49:59 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7588 |
|
7589 * tc-assign.cc, tc-index.cc, tc-inlines.cc: New files, split out |
|
7590 from tree-const.cc. |
|
7591 |
|
7592 * Almost all source files: reorganize so that all global data is |
|
7593 declared in some include file or another. It probably wouldn't |
|
7594 hurt to do some more reorganizing to try to eliminate the amount |
|
7595 of global information... |
|
7596 |
|
7597 Tue Mar 2 20:49:35 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7598 |
|
7599 * variables.h, variables.cc: New files for handling things that |
|
7600 need symbol table information. Lots of files changed to include |
|
7601 variables.h, which now includes the extern declarations for the |
|
7602 symbol tables. The declarations of the symbol tables are now in |
|
7603 variables.cc, but they are still initialized in octave.cc. |
|
7604 |
|
7605 Mon Mar 1 11:35:03 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7606 |
|
7607 * builtins.h (builtin_string_variables): New field, sv_function, |
|
7608 holds a pointer to the function to call when a variable changes. |
|
7609 * builtins.cc (string_variables): Initialize sv_function field. |
|
7610 * (install_builtins): While installing builtin string variables, |
|
7611 stash sv_function and, if it isn't NULL, call it to initialize |
|
7612 global variable user_pref. |
|
7613 |
|
7614 * symtab.h (symbol_record): New field, sv_fcn, holds a pointer to |
|
7615 the function to call when a variable changes. |
|
7616 * symtab.cc (symbol_record::define): Call sv_fcn if it isn't NULL. |
|
7617 * symtab.cc (symbol_record::set_sv_function): New function. |
|
7618 |
|
7619 * utils.cc, parse.y, tree.cc, tree-extras.cc, tree-const.cc, |
|
7620 idx-vector.cc, builtins.cc, symtab.cc: Instead of calling |
|
7621 functions like do_fortran_indexing(), get the user's preference |
|
7622 from the global struct user_pref. |
|
7623 |
|
7624 * utils.h, utils.cc: Delete all functions like do_fortran_indexing() |
|
7625 that lookup user variables to find integer values. |
|
7626 * user-prefs.h, user-prefs.cc: Move them here, but instead of |
|
7627 returning values, set elements of the new global struct user_pref. |
|
7628 |
|
7629 * user-prefs.h, user-prefs.cc: New files for handling global |
|
7630 variables for user preferences. |
|
7631 * Makefile.in: Add them to the SOURCES and INCLUDES macros. |
|
7632 |
|
7633 * bsd-math/{acosh,asinh,atanh,log1p}.c: Declare all external |
|
7634 functions used in each file since they might not be in math.h. |
|
7635 * bsd-math/{scalb,copysign,logb,finite,drem,sqrt}.c: New files |
|
7636 from BSD's support.c. Only using scalb, copysign, logb, and |
|
7637 finite for now. |
|
7638 |
|
7639 * configure.in: Move tests for f77 closer to the top. |
|
7640 * Allow configuration to proceed even if we can't find a Fortran |
|
7641 compiler or f2c. |
|
7642 * Use `here' documents instead of multiple echos for multi-line |
|
7643 messages. |
|
7644 * Imrpoved checking for missing math functions. |
|
7645 |
|
7646 Sun Feb 28 17:45:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7647 |
|
7648 * test/Makefile.in (check): Try to avoid errors from cp. |
|
7649 |
|
7650 * mappers.cc (xfinite): Put test for HAVE_FINITE first. |
|
7651 |
|
7652 * libcruft/Makerules.in (LIBCRUFT_DEPEND): Use `=' in assignment |
|
7653 instead of `:='. |
|
7654 |
|
7655 * liboctave/Makefile.in: Make an explicit list of sources instead |
|
7656 of using $(wildcard). |
|
7657 |
|
7658 Thu Feb 25 20:18:12 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7659 |
|
7660 * bsd-math/copysign.c: New file. HP's don't have this? |
|
7661 * configure.in (LIBOBJS): Also check for copysign, log1p, and |
|
7662 log__L. For each missing user-level function, add -DFOO_MISSING=1 |
|
7663 to DEFS. |
|
7664 * src/missing-math.h: For each function we declare, check the |
|
7665 corresponding XXX_MISSING macro. Add declarations for copysign |
|
7666 and log1p. |
|
7667 |
|
7668 Wed Feb 24 20:39:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7669 |
|
7670 * lex.l (<MATRIX>{SN}*\]/{S}*==): Change scanning pattern to |
|
7671 <MATRIX>{SN}*\]{S}*/== in order to keep flex from generating any |
|
7672 backtracking code. |
|
7673 * (<MATRIX>{SN}*\]/{S}*=): Likewise. |
|
7674 |
|
7675 Tue Feb 23 02:45:00 1993 John W. Eaton (jwe@ward.che.utexas.edu) |
|
7676 |
|
7677 * Version 0.69 released. |
|
7678 |
|
7679 * mappers.cc [_AIX && __GNUG__] : Provide a definition for |
|
7680 finite(), since whatever version we get from the system when using |
|
7681 g++ doesn't work (note that it does seem to work with gcc, xlc, |
|
7682 and xlC). |
|
7683 |
|
7684 * bugs.texi: Note that the math.h file from libg++ declares |
|
7685 finite() incorrectly for some systems. |
|
7686 |
|
7687 Mon Feb 22 02:04:16 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7688 |
|
7689 * configure.in: Look for runtest, but only believe that it exists |
|
7690 if we can also find expect. |
|
7691 * test/Makefile.in (check): Run tests in build directory, not |
|
7692 source directory. |
|
7693 |
|
7694 * tree.cc (reading_script_file): New global variable. |
|
7695 * (parse_m_file): Use it, and properly save and restore state so |
|
7696 that nested script files will work. |
|
7697 |
|
7698 * octave.cc (parse_and_execute): Properly save and restore state |
|
7699 so that nested script files will work. |
|
7700 * Don't close input file here. |
|
7701 |
|
7702 * input.cc (get_input_from (FILE*)): Don't declare mf_instream |
|
7703 static. Set mf_instream if reading and M-file or a script file. |
|
7704 |
|
7705 * parse.y: Minor changes to accomodate new lexer. |
|
7706 |
|
7707 * lex.l: Major overhaul in an attempt to do better string |
|
7708 handling. Looks much simpler and even seems to work. |
|
7709 * (do_string_escapes): New function. |
|
7710 |
|
7711 Sat Feb 20 00:40:32 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7712 |
|
7713 * g-builtins.cc (builtin_npsol): If npsol is missing, return empty |
|
7714 matrices for x and phi, and -1 for inform. |
|
7715 |
|
7716 * num2str.m: Use %g, not %f. |
|
7717 |
|
7718 * tree.cc (parse_m_file): Save and restor curr_sym_tab, because |
|
7719 yyparse may mess with it if it encounters a function definition. |
|
7720 * tree-extras.cc (eval_string): Ditto |
|
7721 * octave.cc (parse_and_execute): Ditto |
|
7722 |
|
7723 * Makefile.in (DISTDIRS): Add bsd-math to list. |
|
7724 |
|
7725 * src/Makefile.in (LIBOBJS): New macro, value set by configure. |
|
7726 (vpath): Add @srcdir@/../bsd-math for LIBOBJS. |
|
7727 (octave): Add $(LIBOBJS) to deps. |
|
7728 * gnuplot-build/Makefile.in: Likewise, for notgnuplot. |
|
7729 |
|
7730 * configure.in: Use AC_REPLACE_FUNCS to Check for acosh, asinh, |
|
7731 atanh, and gamma. |
|
7732 |
|
7733 * bsd-math: New directory for functions from the BSD math library |
|
7734 to use as replacements for missing functions. |
|
7735 |
|
7736 * parse.y (semi_comma, comma_semi): New rules. |
|
7737 (simple_list, simple_list1): Use them to allow empty statements. |
|
7738 (list, list1): Likewise. This allows empty commands as long as |
|
7739 the empty command doesn't contain any newlines. |
|
7740 |
|
7741 * parse.y (simple_assign): New rule, allows things like a = b = c. |
|
7742 (multi_assign): Extracted from assignment. |
|
7743 (assignment): Split into simple_assign and multi_assign. |
|
7744 (expression): Allow '(' simple_assign ')' to be an expression. |
|
7745 |
|
7746 * tree-extras.cc (eval_string): Return result of last expression |
|
7747 evaluated, to make things like `eval ('1+1;')*2' work. |
|
7748 |
|
7749 Fri Feb 19 19:45:21 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7750 |
|
7751 * g-builtins.cc (builtin_pwd): Use getcwd, which is defined in |
|
7752 unistd.h, instead of getwd, which seems to be a BSDISM. |
|
7753 * utils.cc (decode_prompt_string): Ditto. |
|
7754 * (get_working_directory): Ditto. |
|
7755 |
|
7756 * arith_ops.cc (DIVIDE_BY_ZERO_ERROR): Don't rely on |
|
7757 HAVE_IEEE_MATH, use HAVE_ISINF, HAVE_FINITE, and HAVE_ISNAN |
|
7758 instead. |
|
7759 * configure.in: Don't define HAVE_IEEE_MATH. |
|
7760 |
|
7761 * tree-extras.cc: Include stdio.h for FILE. |
|
7762 |
|
7763 Thu Feb 18 10:17:38 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7764 |
|
7765 * tree.cc (gobble_leading_white_space): New function. |
|
7766 * (is_function_file): New function. |
|
7767 |
|
7768 * (parse_m_file): Handle case of .m file being just a file of |
|
7769 commands to execute. |
|
7770 * Add optional argument to specify whether to execute a script |
|
7771 file. |
|
7772 * Return whether a script file was executed. |
|
7773 * (tree.cc, tree-extras.cc): Change callers. |
|
7774 |
|
7775 * octave.cc (parse_and_execute): new functions. |
|
7776 * (execute_startup_files): Use them. |
|
7777 |
|
7778 * lex.l (<COMMENT>\n): Don't gobble new line. |
|
7779 |
|
7780 * num2str.m: Don't print '\n'. |
|
7781 |
|
7782 Wed Feb 17 21:59:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7783 |
|
7784 * mappers.cc: Simplify and correct finite, isinf, isnan functions. |
|
7785 * test/octave/t7.oct: New test for finite, isinf, and isnan |
|
7786 functions. |
|
7787 |
|
7788 * configure.in: Define HAVE_IEEE_MATH if isnan and either finite |
|
7789 or isinf is available. |
|
7790 |
|
7791 * builtins.cc (mapper_functions): Check HAVE_ISNAN instead of |
|
7792 HAVE_IEEE_MATH to determine whether or not to define isnan(). |
|
7793 |
|
7794 * mappers.cc: Don't check for HAVE_IEEE_MATH. Just check for |
|
7795 individual functions directly. |
|
7796 |
|
7797 * g-builtins.cc (npsol_usage): Correct usage message. |
|
7798 |
|
7799 * g-builtins.cc: Don't include unistd.h unless HAVE_UNISTD_H is |
|
7800 defined. |
|
7801 * t-builtins.cc: Ditto. |
|
7802 * utils.cc: Ditto. |
|
7803 |
|
7804 Tue Feb 16 00:35:44 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7805 |
|
7806 * Version 0.68 released. |
|
7807 |
|
7808 * tree.cc (parse_m_file): Set reading_m_file before calling |
|
7809 get_input_from_file. |
|
7810 * Don't mess with current_infile. |
|
7811 |
|
7812 * input.cc (get_input_from_file): Set mf_instream if we are |
|
7813 reading an M-file. Otherwise, set rl_instream, (even if we aren't |
|
7814 really using readline -- this is just the `normal' input stream). |
|
7815 * Don't use current_infile. |
|
7816 * (octave_read): If not interactive, check reading_m_file to |
|
7817 determine where to look for input. |
|
7818 |
|
7819 * octave.cc (main): Don't use readline if we aren't interactive. |
|
7820 |
|
7821 * libcruft/misc/Makefile.in (local-dist): Make sure we don't |
|
7822 distribute a bogus d1mach.f. |
|
7823 (dist): Ditto. |
|
7824 |
|
7825 * tree-extras.cc (convert_to_ans_assign): New global variable. |
|
7826 (eval_string): Conditionally turn off assignment to `ans', for |
|
7827 get_user_input (). |
|
7828 * parse.y (ans_expression): Use it. |
|
7829 * lex.l (reset_parser): Reset it. |
|
7830 |
|
7831 * g-builtins.cc (builtin_input): New function. |
|
7832 * builtins.cc (general_fucntions): Add it to the list. |
|
7833 * tree-extras.cc (get_user_input): Do most of the real work. |
|
7834 |
|
7835 Mon Feb 15 01:14:40 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7836 |
|
7837 * t-builtins.cc (load_variable): New function. |
|
7838 (builtin_load): Use it. |
|
7839 |
|
7840 * Makefile.in (SUBDIRS): Add the test directory. |
|
7841 (check): Don't depend on all. |
|
7842 |
|
7843 Sat Feb 13 05:17:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7844 |
|
7845 * tree-extras.cc (determinant, lu, matrix_exp, matrix_log, |
|
7846 matrix_sqrt): Handle empty matrix argument. |
|
7847 |
|
7848 * Matrix.h: Add constructors of the form Matrix (double a) and |
|
7849 ColumnVector (double a) to make it even easier to form single |
|
7850 element vectors. |
|
7851 |
|
7852 Fri Feb 12 03:27:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7853 |
|
7854 * octave.cc (main): Add -v option that will print the version |
|
7855 string and quit with a successful exit status. |
|
7856 |
|
7857 Thu Feb 11 00:46:34 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7858 |
|
7859 * tree-extras.cc (eig): If given an empty argument, return enough |
|
7860 empty matrices to fill all possible LHS variables. |
|
7861 (qr): Likewise. |
|
7862 (svd): Likewise. |
|
7863 |
|
7864 * tree-const.cc (fortran_style_matrix_assignment): Do the right |
|
7865 thing if LHS is an empty matrix. |
|
7866 |
|
7867 * tree-extras.cc (qr): Handle empty matrix argument. |
|
7868 |
|
7869 * Matrix-ext.cc (QR): Make it work (really!). |
|
7870 (ComplexQR): Ditto. |
|
7871 |
|
7872 Wed Feb 10 00:56:31 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7873 |
|
7874 * xdiv.cc (xdiv (ComplexMatrix& a, ComplexMatrix& b)): Do |
|
7875 btmp.solve (atmp), like the other three xdiv's. Argh! |
|
7876 |
|
7877 * tree-extras.cc (eval_string): New function. Mostly works but |
|
7878 could be very fragile. We desperately need some sort of |
|
7879 `unwind-protect' scheme to avoid disaster when octave is |
|
7880 interrupted. |
|
7881 |
|
7882 * g-builtins.cc (builtin_eval): Instead of just aborting, call |
|
7883 eval_string if given one argument. |
|
7884 |
|
7885 * input.cc (octave_read): If get_input_from_eval_string is |
|
7886 nonzero, stuff current_eval_string into buf for flex to read. |
|
7887 |
|
7888 * tree-extras.cc (char *current_eval_string): New global variable |
|
7889 for eval(). |
|
7890 * (int get_input_from_eval_string): Ditto. |
|
7891 |
|
7892 * Update copyright notices to include 1993 (now that it's |
|
7893 February...). |
|
7894 |
|
7895 Tue Feb 9 14:35:08 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7896 |
|
7897 * Version 0.67 released. |
|
7898 |
|
7899 * tree-extras.cc, tree-const.cc: Check the value of the variable |
|
7900 `propagate_empty_matrices' to decide what to do about empty |
|
7901 matrices in binary and unary operations and some function calls. |
|
7902 |
|
7903 * builtins.cc (builtin_string_variables): New global variable |
|
7904 `propagate_empty_matrices' with initial value `warn'. |
|
7905 * utils.cc (propagate_empty_matrices): New function. |
|
7906 |
|
7907 Mon Feb 8 19:46:51 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7908 |
|
7909 * tree-const.cc: Finish changes required to make zero-one indexing |
|
7910 work for indexing and assignment. |
|
7911 |
|
7912 Sat Feb 6 15:54:10 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7913 |
|
7914 * builtins.cc (builtin_string_variables): New global variable |
|
7915 `prefer_zero_one_indexing' with initial value `false'. |
|
7916 * utils.c (prefer_zero_one_indexing): New function. |
|
7917 |
|
7918 Fri Feb 5 13:03:14 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7919 |
|
7920 * idx-vector.h, idx-vector.cc: Major overhaul to help with |
|
7921 zero-one style indexing. |
|
7922 * tree-const.cc (matrix_to_index_vector): Delete functions. |
|
7923 * (functions that use idx_vectors): Update for new idx-vector |
|
7924 stuff. |
|
7925 |
|
7926 * arith-ops.cc: Don't declare matrix_to_fortran_indices. |
|
7927 |
|
7928 * tree-const.cc (matrix_to_index_vector): Add new argument, |
|
7929 allow_neg_one, with default value of false. |
|
7930 * (matrix_to_fortran_indices): Add new argument, allow_zero, with |
|
7931 default value of false. |
|
7932 |
|
7933 * g-builtins.cc (builtin_find): New function. |
|
7934 * builtins.cc (general_fucntions): Add it to the list. |
|
7935 * tree-extras.cc (find_nonzero_elem_idx (tree_constant)): Do |
|
7936 most of the real work. |
|
7937 * tree-extras.cc (find_nonzero_elem_idx (const Matrix&): Do the rest. |
|
7938 * (find_nonzero_elem_idx (const ComplexMatrix&): Ditto, for complex. |
|
7939 |
|
7940 Wed Feb 3 00:54:01 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7941 |
|
7942 * configure.in (DEFAULT_DOT_O_FROM_DOT_F): If using f2c, quote |
|
7943 with single quotes instead of double quotes to avoid problems on |
|
7944 systems (like the NeXT) that strip \'s from double quoted strings. |
|
7945 |
|
7946 * utils.c (empty_list_elements_ok): New function. |
|
7947 * tree.cc (matrix_list::eval): Use it. |
|
7948 * builtins.cc (builtin_string_variables): New global variable |
|
7949 `empty_list_elements_ok' with initial value `warn'. |
|
7950 |
|
7951 * utils.cc (check_str_pref): New function. |
|
7952 * (resize_on_range_error, prefer_column_vectors, |
|
7953 warn_comma_in_global_decl, do_fortran_indexing, |
|
7954 implicit_str_to_num_ok, treat_neg_dim_as_zero, |
|
7955 ok_to_lose_imaginary_part, return_last_computed_value, |
|
7956 silent_functions, print_answer_id_name): Use it instead of |
|
7957 needlessly duplicating code. |
|
7958 |
|
7959 Tue Feb 2 16:58:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7960 |
|
7961 * lex.l ("'"): If it looks like we're defining a matrix, don't set |
|
7962 the start condition to be MAYBE_QSTRING. GAK. There has to be a |
|
7963 better way... |
|
7964 |
|
7965 * lex.l: Increment and decrement promptflag instead of just |
|
7966 setting its value. This should help get prompting right for |
|
7967 things like if [1,2;3,4] NL ... |
|
7968 * input.cc (octave_gets): In order to issue a prompt, Require |
|
7969 propmtflag to be greater than zero, not just nonzero. |
|
7970 |
|
7971 * tree.cc (tree_if_command): Allow matrices as the expression to |
|
7972 test. Unlike Matlab, a complex value is false only if both the |
|
7973 real and imaginary parts are 0. |
|
7974 * tree.cc (tree_while_command): Ditto. |
|
7975 |
|
7976 * tree.cc (tree_for_command): Allow matrices and complex values |
|
7977 in the expression. For matrices, assign each column in turn to |
|
7978 the dummy variable. |
|
7979 |
|
7980 * Matrix-ext.cc (qr): Make it work. The LAPACK book gags me again! |
|
7981 |
|
7982 * xdiv.cc: When computing right division with complex matrices, |
|
7983 use hermitian() instead of transpose(). |
|
7984 |
|
7985 * lex.l: Return IMAG_NUM for a numeric constant followed by |
|
7986 [iIjJ], but don't allow spaces between the numeric constant and |
|
7987 the letter (it causes problems inside `[]' where spaces matter... |
|
7988 |
|
7989 Mon Feb 1 17:15:19 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7990 |
|
7991 * tree_extras.cc (rand_internal): Make the random number generator |
|
7992 give us a different sequence every time we start octave unless we |
|
7993 specifically set the seed. |
|
7994 |
|
7995 Thu Jan 28 00:10:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
7996 |
|
7997 * Version 0.66 released. |
|
7998 |
|
7999 * configure.in: Define PLOTLIB in addition to adding -DUNIXPLOT to |
|
8000 DEFS if we find -lplot, and call AC_SUBST for PLOTLIB. |
|
8001 |
|
8002 * QP.cc: Define constructors here. |
|
8003 * QP.h: Not here. |
|
8004 |
|
8005 * QP.cc (All constructors that are given H): Force H to be |
|
8006 symmetric. |
|
8007 * (make_h_symmetric): New function. |
|
8008 |
|
8009 Wed Jan 27 01:35:53 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8010 |
|
8011 * arith-ops.cc (do_unary_op): Do the right thing for complex |
|
8012 logical not operator. |
|
8013 * Matrix.cc (ComplexMatrix::operator ! (void)): Return Matrix |
|
8014 instead of ComplexMatrix. |
|
8015 * mx-inlines.cc (not (Complex *d, int len)): For each element of |
|
8016 d, return (d[i] == 0.0), not (d[i] != 0.0), and return it as a |
|
8017 pointer to double, not Complex. |
|
8018 |
|
8019 * configure.in: Check for libcruft/qpsol/qpsol.f. |
|
8020 * Create Makefile in libcruft/qpsol. |
|
8021 |
|
8022 * libcruft/qpsol: New directory. Copy QPSOL sources here. |
|
8023 * libcruft/qpsol/Makefile.in: New file. |
|
8024 * libcruft/qpsol/README.MISSING: New file. |
|
8025 * libcuft/Makefile.in: Include qpsol in list of directories to |
|
8026 make. |
|
8027 |
|
8028 * QPSOL.h, QPSOL.cc: New file for solving QPs with Gill and |
|
8029 Murray's QPSOL. |
|
8030 |
|
8031 * QLD.h, QLD.cc: Delete all minimize functions except |
|
8032 Vector minimize (double&, int&). |
|
8033 |
|
8034 * QP.h: Declare minimize functions virtual. |
|
8035 * (Vector minimize (double&, int&): Declare as a pure virtual |
|
8036 function. |
|
8037 |
|
8038 * QP.cc: New file to implement generic minimize functions. |
|
8039 |
|
8040 Tue Jan 26 00:27:13 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8041 |
|
8042 * lex.l: Recognize numbers of the form .{digits}E{digits} and |
|
8043 .{digits}E[+-]{digits} |
|
8044 |
|
8045 * lex.l: Recognize .\ as ELEFTDIV. |
|
8046 * parse.y: Handle ELEFTDIV. |
|
8047 * tree.cc (tree_binary_expression::eval): Handle el_leftdiv. |
|
8048 |
|
8049 * arith-ops.cc (do_binary_op): Handle element by element left |
|
8050 division. Fix some errors in element by element right division. |
|
8051 |
|
8052 * tree-base.h (enum expression_type): Add el_leftdiv. |
|
8053 |
|
8054 * Version 0.65 released. |
|
8055 |
|
8056 * tree-const.cc (tree_constant_rep::eval (tree_constant *args, int |
|
8057 nargin, int nargout, int print)): Fix another brain-o in making |
|
8058 recursive call.s |
|
8059 |
|
8060 * src/Makefile.in: Complete changes for CXX instead of C++ make |
|
8061 variables. |
|
8062 |
|
8063 * tree-const.cc: For assignment and indexing functions, treat |
|
8064 complex scalars and matrices in the same branch of the switch as |
|
8065 real scalars and matrices -- the double_value() and matrix_value() |
|
8066 functions take care of checking to see if it's ok to lose the |
|
8067 imaginary part. |
|
8068 |
|
8069 * tree-const.h (tree_constant_rep::is_numeric_type): New function. |
|
8070 * tree-const.h (tree_constant::make_numeric functions): Use it. |
|
8071 |
|
8072 * tree-const.h (tree_constant::make_numeric functions): Return |
|
8073 *this for complex constants too. |
|
8074 |
|
8075 Mon Jan 25 18:31:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8076 |
|
8077 * tree-extras.cc (Matrix min (Matrix&, Matrix&)): Loop over nc and |
|
8078 nr, not nr and nr. |
|
8079 * (Matrix max (Matrix&, Matrix&)): Ditto. |
|
8080 |
|
8081 * tree-const.cc (tree_constant_rep::mapper): Fix brain-o in making |
|
8082 recursive call. |
|
8083 |
|
8084 Sun Jan 24 20:05:39 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8085 |
|
8086 * configure.in: If using f2c, explicitly check for -lf2c. If it's |
|
8087 not found, look for -lF77 and -lI77. If a suitable combination |
|
8088 isn't found, print a warning. |
|
8089 |
|
8090 * src/Makefile.in liboctave/Makefile.in: GNU Make 3.63 uses CXX |
|
8091 and CXXFLAGS instead of C++ and C++FLAGS. Fix things so that 3.63 |
|
8092 will work without sacrificing compatibility with earlier versions. |
|
8093 |
|
8094 * tree-const.cc (tree_constant_rep::diag (tree_constant&)): Fix |
|
8095 brain-o in forcing argument to be numeric. |
|
8096 |
|
8097 Fri Jan 22 15:03:42 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8098 |
|
8099 * octave.cc (interrupt_handler): Declare to take int argument. |
|
8100 |
|
8101 * NPSOL.cc (npsol_objfun): Delete leftover debugging message. |
|
8102 |
|
8103 Thu Jan 21 14:28:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8104 |
|
8105 * configure.in: Check version of gcc and issue a warning if it |
|
8106 looks like 1.something. |
|
8107 * Check for g++. Issue a warning if it is missing or if it is |
|
8108 there but it looks like verion 1.something. |
|
8109 |
|
8110 * flibs.sh, f2c-compat.sh: Change file permission to 755 to avoid |
|
8111 problems if the uid of the installer is different from the uid of |
|
8112 the owner of the files. |
|
8113 |
|
8114 Wed Jan 20 04:18:49 1993 John W. Eaton (jwe@june.che.utexas.edu) |
|
8115 |
|
8116 * libcruft/Makerules.in (@DOT_O_DOT_F_C[1234]@): Patterns deleted. |
|
8117 * configure.in: Do multiple line sed substitutions the right way. |
|
8118 |
|
8119 Tue Jan 19 14:50:50 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8120 |
|
8121 * configure.in: Use new AC_WITH to accept --with-f2c instead of |
|
8122 --use-f2c. |
|
8123 * Use new AC_HAVE_LIBRARY to find -lplot. |
|
8124 |
|
8125 * flibs.sh: Actually avoid including duplicate -lflags. |
|
8126 * Use test, not `['. |
|
8127 |
|
8128 Sun Jan 17 16:57:02 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8129 |
|
8130 * Matrix.h: Declare operator+ and operator- functions for vectors. |
|
8131 * RowVector.cc: Define half of them. |
|
8132 * ColVector.cc: Define the other half. |
|
8133 |
|
8134 Fri Jan 15 03:00:46 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8135 |
|
8136 * src/Makefile.in (install): Include version number in name of |
|
8137 installed binary and make a link to $(bindir)/octave. |
|
8138 |
|
8139 * Version 0.64 released. |
|
8140 |
|
8141 * t-builtins.cc (builtin_clear): Don't allow the user to clear |
|
8142 global symbols by name. If he tries, issue a warning. |
|
8143 |
|
8144 * tree.cc (tree_identifier::eval_undefined_error): Don't clear |
|
8145 undefined symbols from the global or local (function) symbol |
|
8146 tables. |
|
8147 |
|
8148 Thu Jan 14 02:10:20 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8149 |
|
8150 * tree.cc (tree_function::eval): Save old and set current symbol |
|
8151 table context, so eval_undefined_error() doesn't wipe out top |
|
8152 level symbols. |
|
8153 |
|
8154 * Version 0.63 released. |
|
8155 |
|
8156 Wed Jan 13 13:16:56 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8157 |
|
8158 * Nearly every .h and .cc file: Add interface and implementation |
|
8159 #pragmas for G++ in hopes of making smaller objects with -g. |
|
8160 |
|
8161 * tree-const: Properly handle assignments like A(:) = RHS when |
|
8162 do_fortran_indexing is true. |
|
8163 |
|
8164 * g-builtins.cc (builtin_eig): Correct usage message. |
|
8165 |
|
8166 * tree-const.cc (tree_constant_rep (ComplexDiagMatrix&)): Create |
|
8167 and initialize a new complex_scalar. Don't just try to copy the |
|
8168 value... |
|
8169 |
|
8170 * Matrix.h: Declare new fill functions for diagonal matrices. |
|
8171 * DiagMatrix.cc: Define them. |
|
8172 |
|
8173 * Matrix.h: Declare map functions for row and column vectors. |
|
8174 * RowVector.cc: Define them. |
|
8175 * ColumnVector.cc: Likewise. |
|
8176 |
|
8177 * CollocWt.h: Declare data protected instead of private. |
|
8178 * CollocWt.cc (CollocWt::CollocWt (const CollocWt&)): Fix brain-o. |
|
8179 |
|
8180 * lex.l: Return IMAG_NUM for a numeric constant followed by |
|
8181 [ \t]*[iIjJ]. |
|
8182 |
|
8183 * parse.y (IMAG_NUM): New token. |
|
8184 * (fact): Recogize IMAG_NUM and convert its value to a complex |
|
8185 constant. |
|
8186 |
|
8187 * Version 0.62 released. |
|
8188 |
|
8189 * Makefile.in (local-dist): Include -local in tar.Z filename. |
|
8190 * (split-local-dist): New target. |
|
8191 * (dist): Don't depend on newversion. |
|
8192 * (local-dist): Ditto. |
|
8193 |
|
8194 * tree-extras.cc (npsol): If the first argument isn't a vector, |
|
8195 print an error message and return. |
|
8196 |
|
8197 * tree.cc (tree_matrix::eval): Always set prev_row_total and |
|
8198 prev_column_total when starting out. |
|
8199 |
|
8200 * octave.cc (main): Don't try to detect signal handler failures, |
|
8201 but do call signal() to set up the interrupt handler. |
|
8202 |
|
8203 Tue Jan 12 19:59:33 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8204 |
|
8205 * tree-extras.cc (npsol): Fix brain-o in checking length of bounds |
|
8206 vectors. |
|
8207 |
|
8208 Mon Jan 11 20:32:24 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8209 |
|
8210 * tree-extras.cc (set_rand_seed): New function. |
|
8211 (force_to_fit_range): New function. |
|
8212 (current_seed): Really return current seed. |
|
8213 (rand_internal): Allow the user to actually set the seed for the |
|
8214 random number generator. |
|
8215 |
|
8216 Sun Jan 10 16:46:06 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8217 |
|
8218 * Version 0.61 released. |
|
8219 |
|
8220 * builtins.h, builtins.cc: Rename from builtin-fcns.h, |
|
8221 builtin-fcns.cc (too long for Linux/SysV). |
|
8222 |
|
8223 * mappers.cc (xisinf): For non-IEEE machines, consider DBL_MAX to |
|
8224 be infinite. |
|
8225 |
|
8226 Fri Jan 8 09:15:57 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8227 |
|
8228 * gnuplot-build/Makefile.in (x11targets): Don't worry about |
|
8229 checking HAVE_X11_X_H. |
|
8230 |
|
8231 * configure.in: Check for gamma and lgamma for gnuplot. |
|
8232 |
|
8233 * gnuplot-build/Makefile.in (Makefile.X11): Only move Makefile to |
|
8234 ../Makefile.X11 if xmkmf succeeds. |
|
8235 |
|
8236 * gnuplot-build/Makefile.in (x11targets): Check to see that XMKMF |
|
8237 is set *and* that Makefile.X11 exists. |
|
8238 * If making notgnuplot_x11 with Makefile.X11 fails, try again with |
|
8239 Makefile. |
|
8240 |
|
8241 * gnuplot-build/Makefile.in: Use @PLOTLIB@ in definintion of LIBS. |
|
8242 * Don't define UNIXPLOT in TERMFLAGS. |
|
8243 * Don't define LN_S; it isn't used anywhere, and configure doesn't |
|
8244 give it a value. |
|
8245 |
|
8246 * configure.in: Check for closepl(). If found, define UNIXPLOT, |
|
8247 and substitute -lplot for @PLOTLIB@. |
|
8248 |
|
8249 * arith-ops.cc (DIVIDE_BY_ZERO_ERROR): New macro. On systems that |
|
8250 have IEEE math, give a warning but also go ahead and divide by |
|
8251 zero. On systems that don't have IEEE math, just give an error |
|
8252 message and return an undefined tree_constant (it would probably |
|
8253 be possible to handle this so that it works the same everywhere, |
|
8254 but I'm not sure it's worth the effort...). |
|
8255 |
|
8256 * builtin-fcns.cc (install_builtins): On systems that don't have |
|
8257 IEEE_MATH, define Inf to be MAX_DBL, but don't define NaN at all. |
|
8258 |
|
8259 * configure.in: Check for finite, isnan, and isinf. |
|
8260 * Set HAVE_IEEE_MATH if we find finite and isnan. |
|
8261 |
|
8262 * builtin-fcns.cc (install_builtins): Use HAVE_IEEE_MATH instead |
|
8263 of IEEE_MATH. |
|
8264 * mappers.cc: Check HAVE_IEEE_MATH and HAVE_ISINF macros rather |
|
8265 than checking system type. |
|
8266 |
|
8267 * graph3d.c (hidden_line_plot): Declare dy and y as double, not |
|
8268 float, since VERYLARGE can be DBL_MAX. |
|
8269 |
|
8270 * lsoda.f, lsodar.f, lsodes.f, lsodi.f, lsoibt.f, stoda.f, |
|
8271 stodi.f, zrotg.f, sdot.f: Remove unused files. |
|
8272 |
|
8273 * texas_lotto.m: Renamed from win_texas_lotto.m to keep the |
|
8274 filename less than 14 characters. |
|
8275 |
|
8276 Thu Jan 7 15:45:29 1993 John W. Eaton (jwe@june.che.utexas.edu) |
|
8277 |
|
8278 * utils.cc: Declare ioctl extern "C". |
|
8279 |
|
8280 * tree.cc: Include stdio.h to be sure FILE is defined (apparently |
|
8281 not required by older versions of GNU iostream library). |
|
8282 * t-builtins.cc: Likewise. |
|
8283 * g-builtins.cc: Likewise, but for tmpnam. |
|
8284 |
|
8285 * tree-const.h (rand_internal): Rename from rand to avoid |
|
8286 conflict with standard library rand (a macro in Linux). |
|
8287 * tree-extras.cc (rand_internal): Fix function definition. |
|
8288 * g-builtins.cc (builtin_rand): Call rand_internal instead of rand. |
|
8289 |
|
8290 * octave.cc (main): Don't try to detect signal handler failures. |
|
8291 What's the proper way to do this if RETSIGTYPE is void? |
|
8292 |
|
8293 Tue Jan 5 08:14:29 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8294 |
|
8295 * tree.cc (tree_matrix::eval): When adding a matrix down or to the |
|
8296 right, column or row dimension mismatches are always errors. |
|
8297 |
|
8298 Mon Jan 4 04:58:55 1993 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8299 |
|
8300 * Version 0.60 released. |
|
8301 |
|
8302 * xdiv.h, xdiv.cc: New files for Octave-specific matrix division |
|
8303 stuff. |
|
8304 * src/Makefile.in (INCLUDES, SOURCES, OBJECTS): Add xdiv stuff. |
|
8305 |
|
8306 * arith-ops.cc: Include xdiv.h. |
|
8307 |
|
8308 Sun Jan 3 12:24:04 1993 John W. Eaton (jwe@ward.che.utexas.edu) |
|
8309 |
|
8310 * gnuplot-build/Imakefile.in (notgnuplot_x11): In the compile |
|
8311 command, put source file before libraries. |
|
8312 |
|
8313 * libcruft/misc/Makefile.in: Don't use -O to compile gen-dimach.c. |
|
8314 |
|
8315 Thu Dec 31 00:45:50 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8316 |
|
8317 * tree-extras.cc (matrix_sqrt): Don't create D until it is really |
|
8318 needed. |
|
8319 * (matrix_log): Ditto. |
|
8320 * (matrix_exp): Ditto. |
|
8321 [this should really be just one function instead of three...] |
|
8322 |
|
8323 * g-builtins.cc (builtin_sqrtm): New function. |
|
8324 * builtin-fcns.cc (general_fucntions): Add it to the list. |
|
8325 * tree-extras.cc (matrix_sqrt): Do the real work. |
|
8326 |
|
8327 * Makefile.in: Distribute INSTALL.OCTAVE and configure.in. |
|
8328 * (INSTALL.info): Make ../INSTALL.OCTAVE, not ../INSTALL. |
|
8329 |
|
8330 * doc/Makefile.in: Make ../INSTALL.OCTAVE, not ../INSTALL. |
|
8331 |
|
8332 * INSTALL.OCTAVE: Rename from INSTALL. |
|
8333 Refer to INSTALL for more info. |
|
8334 |
|
8335 * INSTALL: Copy from autoconf distribution. |
|
8336 Refer to INSTALL.OCTAVE for more info. |
|
8337 |
|
8338 * octave.cc (main): Remove leading blank line from startup message. |
|
8339 * Don't print it everytime the user types C-c... |
|
8340 |
|
8341 * xpow.cc: Finish off remaining cases. |
|
8342 |
|
8343 * tree-extras.cc (process_format): New function. |
|
8344 (do_printf): Use it. |
|
8345 |
|
8346 Wed Dec 30 00:43:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8347 |
|
8348 * Version 0.56. |
|
8349 |
|
8350 * g-builtins.cc (builtin_logm): New function. |
|
8351 * builtin-fcns.cc (general_fucntions): Add it to the list. |
|
8352 * tree-extras.cc (matrix_log): Do the real work. |
|
8353 |
|
8354 * g-builtins.cc (builtin_expm): New function. |
|
8355 * builtin-fcns.cc (general_fucntions): Add it to the list. |
|
8356 * tree-extras.cc (matrix_exp): Do the real work. |
|
8357 |
|
8358 * Matrix-ext.cc (LU): Construct LU decomp. here, not in Matrix class. |
|
8359 (ComplexLU): Likewise. |
|
8360 * Matrix.cc (lu): Deleted. Use LU constructor instead. |
|
8361 Change all uses in octave sources. |
|
8362 |
|
8363 * Matrix-ext.cc (EIG): Construct EIG object here, not in Matrix class. |
|
8364 * Matrix.cc (eig): Deleted. Use EIG constructor instead. |
|
8365 Change all uses in octave sources. |
|
8366 |
|
8367 * Matrix-ext.cc (SVD): Construct SVD here, not in Matrix class. |
|
8368 (ComplexSVD): Likewise. |
|
8369 * Matrix.cc (svd): Deleted. Use SVD constructor instead. |
|
8370 Change all uses in octave sources. |
|
8371 |
|
8372 * Makefile.in: Update for new Matrix file organization. |
|
8373 Don't compile mx-inlines separately -- it's included where needed. |
|
8374 * Matrix.h: Declare Fortran routines we call here, not in Matrix.cc. |
|
8375 Don't declare every class to be a friend of every other class. |
|
8376 * mx-inlines.cc: New file, included by all Matrix-related .cc files. |
|
8377 * Matrix.cc: Split into several files. |
|
8378 * ColVector.cc: New file, from Matrix.cc |
|
8379 * RowVector.cc: Ditto. |
|
8380 * DiagMatrix.cc: Ditto. |
|
8381 * Matrix-ext.cc: Ditto. |
|
8382 |
|
8383 * tree-extras.cc (svd): Take advantage of new constructors and |
|
8384 diag functions. |
|
8385 |
|
8386 * Matrix.cc (DiagMatrix::diag) New function. |
|
8387 (ComplexDiagMatrix::diag) Ditto. |
|
8388 |
|
8389 * tree-extras.cc (eig): Take advantage of new constructors. |
|
8390 |
|
8391 * tree-const.cc (tree_constant (DiagMatrix)): New constructor. |
|
8392 (tree_constant (ComplexDiagMatrix)): Ditto. |
|
8393 |
|
8394 * Matrix.cc (Matrix (const DiagMatrix)): New constructor. |
|
8395 (ComplexMatrix (const DiagMatrix)): Ditto. |
|
8396 (ComplexMatrix (const ComplexDiagMatrix)): Ditto. |
|
8397 |
|
8398 Tue Dec 29 01:14:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8399 |
|
8400 * octave.cc (main): Print message at startup by default. |
|
8401 Don't print it until just before main loop. |
|
8402 * New -q option (inhibit_startup_message) turns it off. |
|
8403 * New -f option (read_init_files) inhibits reading of startup files. |
|
8404 * Delete -v option. |
|
8405 * (verbose_usage): Reflect changes in arguments, document -d. |
|
8406 |
|
8407 * win_texas_lotto.m: Sort picks before returning. |
|
8408 |
|
8409 * tree-extras.cc (eig): Return [v,d], not [l,v], where d is a |
|
8410 diagonal matrix made from l. |
|
8411 |
|
8412 * builtin-fcns.cc (mapper_functions): Fix last element of |
|
8413 initialization list to have correct number of elements. |
|
8414 |
|
8415 * Version 0.55. |
|
8416 |
|
8417 * Quad.h: Move all inline functions to Quad.cc to avoid apparent |
|
8418 g++ bug on the RS/6000. |
|
8419 |
|
8420 * configure.in: If we find flex, don't define LEXLIB. |
|
8421 |
|
8422 * COPYING.LIB: Deleted -- we're not actually distributing anything |
|
8423 under these terms. |
|
8424 * Makefile.in: Don't distribute COPYING.LIB. |
|
8425 |
|
8426 Mon Dec 28 00:46:21 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8427 |
|
8428 * xpow.h, xpow.cc: New files for safer pow() interface for octave. |
|
8429 * src/Makefile.in (INCLUDES, SOURCES, OBJECTS): Add xpow stuff. |
|
8430 |
|
8431 * arith-ops.cc: Include xpow.h. |
|
8432 * Don't declare toplevel jmp_buf. |
|
8433 |
|
8434 * t-builtins.cc (builtin_save): Make file and stream static to |
|
8435 avoid dumping core on return (is this a bug in libg++ or g++?). |
|
8436 * (builtin_load): Ditto. |
|
8437 |
|
8438 * symtab.cc (load): Make it work again. Yikes! This hasn't |
|
8439 worked since the big symbol table overhaul... |
|
8440 |
|
8441 * tree-const.cc (tree_constant_rep::save): Handle complex scalars |
|
8442 and matrices. |
|
8443 |
|
8444 * (symbol_def::undefine): Delete previous symbol definition before |
|
8445 defining. This should be ok now, after the parse_m_file fix of |
|
8446 27 Dec. |
|
8447 |
|
8448 * getting_help: New global flag. |
|
8449 * ([_a-zA-Z][_a-zA-Z0-9]*): Set it if looking at "help". |
|
8450 * (reset_parser): Clear it. |
|
8451 * lex.l (STRING): Use it to determine what to do with ' ; and , . |
|
8452 |
|
8453 * lex.l (QSTRING): Handle the following (C-style) backslash escape |
|
8454 sequences correctly(?). |
|
8455 |
|
8456 \a bell \r carriage return |
|
8457 \b backspace \t horizontal tab |
|
8458 \f formfeed \v vertical tab |
|
8459 \n newline \\ backslash |
|
8460 |
|
8461 * median.m: New M-file. |
|
8462 |
|
8463 * g-builtins.cc (builtin_sort): New function. |
|
8464 * builtin-fcns.cc (general_fucntions): Add it to the list. |
|
8465 * tree-extras.cc (sort): Do most of the real work. |
|
8466 * tree-extras.cc (mx_sort): Do the rest. |
|
8467 |
|
8468 Sun Dec 27 17:40:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8469 |
|
8470 * t-builtins.cc (builtin_casesen): New function. |
|
8471 * builtin-fcns.cc (text_functions): Add it to the list. |
|
8472 |
|
8473 * strcmp.m: Temporarily allow string to numeric conversions. |
|
8474 Maybe strcmp() should be built in to the interpreter? |
|
8475 |
|
8476 * norm.m: New M-file. |
|
8477 |
|
8478 * builtin-fcns.cc (install_builtins): Treat i and j as functions, |
|
8479 not variables. |
|
8480 * Install inf as an alias for Inf. |
|
8481 * Install nan as an alias for NaN. |
|
8482 |
|
8483 * tree.cc (tree_identifier::parse_m_file (char*)): Force new |
|
8484 global symbol to be a function, not a variable. |
|
8485 |
|
8486 Tue Dec 22 14:15:57 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8487 |
|
8488 * tree.cc (tree_function::eval): Check with silent_functions() |
|
8489 and return_last_value_computed() to determine proper behavoir. |
|
8490 |
|
8491 * builtin-fcns.cc (silent_functions): New builtin variable. |
|
8492 * (return_last_value_computed) Ditto. |
|
8493 |
|
8494 * utils.cc (silent_functions): New function. |
|
8495 * (return_last_value_computed) Ditto. |
|
8496 [This scheme for determining preferences needs to be reworked...] |
|
8497 |
|
8498 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only force yytext[len] to be the |
|
8499 end of the identifier if we gobbled some whitespace. |
|
8500 * Always unput the last character read. |
|
8501 |
|
8502 * tree.cc (tree_function::eval) Always turn on printing for |
|
8503 commands inside functions. |
|
8504 |
|
8505 Sat Dec 19 14:03:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8506 |
|
8507 * Version 0.54. |
|
8508 |
|
8509 Fri Dec 18 16:02:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8510 |
|
8511 * (symbol_def::undefine): Undo previous change. Someone is |
|
8512 calling this function when they shouldn't be... |
|
8513 |
|
8514 * tree.cc (parse_m_file): If the script file is successfully |
|
8515 parsed, Ensure that the new symbol is defined in the global |
|
8516 symbol table. |
|
8517 |
|
8518 * lex.l: Handle continuation lines with the pattern |
|
8519 {EL}{S}*\n { promptflag = 0; } // Line continuation. |
|
8520 |
|
8521 Thu Dec 17 01:47:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8522 |
|
8523 * symtab.cc (symbol_def::define): Delete previous symbol |
|
8524 definition before defining. |
|
8525 (symbol_def::undefine): Ditto, but new definition is always NULL. |
|
8526 |
|
8527 * readline/Makefile.in: Don't compile emacs_keymap.c and |
|
8528 vi_keymap.c since they are included by keymaps.c. |
|
8529 |
|
8530 * configure.in: If RETSIGTYPE isn't int, then define |
|
8531 VOID_SIGHANDLER="-DVOID_SIGHANDLER=1". |
|
8532 Substitute VOID_SIGHANDLER. |
|
8533 |
|
8534 * readline/Makefile.in (CFLAGS): Add -DVOID_SIGHANDLER if |
|
8535 appropriate. |
|
8536 |
|
8537 * tilde.c: Declare xmalloc, not malloc. |
|
8538 |
|
8539 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only call unput if we've |
|
8540 actually read something. |
|
8541 |
|
8542 * Version 0.53. |
|
8543 |
|
8544 Wed Dec 16 01:35:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8545 |
|
8546 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Look in the global symbol table |
|
8547 for names, but ignore functions. |
|
8548 |
|
8549 * tree.cc (tree_identifier::eval): Use symbol_out_of_date() to |
|
8550 simplify logic for re-parsing M-files. |
|
8551 Always look in global symbol table for functions in case the |
|
8552 definition has changed (shouldn't the local symbols be undefined |
|
8553 anyway??). |
|
8554 |
|
8555 * tree.cc (symbol_out_of_date): New function. |
|
8556 |
|
8557 * symtab.cc (symbol_table::undefine): Actually do something. |
|
8558 * (symbol_table::remove_name): Ditto. |
|
8559 * (symbol_table::clear): And so on. |
|
8560 |
|
8561 * Matrix.cc (ComplexMatrix::svd): Use complex conjugate transpose, |
|
8562 not simple transpose, for V. |
|
8563 |
|
8564 * Version 0.52. |
|
8565 |
|
8566 * gnuplot-build/Imakefile (notgnuplot_x11): In the compile |
|
8567 command, put source file before libraries. |
|
8568 |
|
8569 * parse.y (assignment): If trying to warn against assignment to a |
|
8570 function, check is_function() instead of !is_variable(). |
|
8571 |
|
8572 * src/Makefile.in: Distribute input.h. |
|
8573 |
|
8574 Tue Dec 15 10:48:22 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8575 |
|
8576 * octave.cc (main): Call initialize_readline to set up completion |
|
8577 functions. |
|
8578 |
|
8579 * input.cc (make_name_list, command_generator, command_completer, |
|
8580 initialize_readline): New functions. |
|
8581 |
|
8582 * input.h: New file. |
|
8583 * lex.l: Include it instead of input.cc. |
|
8584 * src/Makefile.in: Create input.o rather than including it |
|
8585 directly in lex.l. |
|
8586 |
|
8587 * builtin-fcns.cc: do_fortran_indexing is now initially false. |
|
8588 prefer_column_vectors is now initially true. |
|
8589 |
|
8590 * builtin-fcns.cc (install_builtins): Install i and j |
|
8591 (== sqrt(-1)) as permanent global variables. |
|
8592 |
|
8593 * g-builtins.cc (MAXPATHLEN) Provide default definition here. |
|
8594 * t-builtins.cc: Not here. |
|
8595 |
|
8596 * g-builtins.cc (quitting_gracefully, interactive, |
|
8597 clean_up_and_exit, verbatim_pwd, getwd) Declare here. |
|
8598 * t-builtins.cc: Not here. |
|
8599 |
|
8600 * g-builtins.cc: Also include readline.h and history.h. |
|
8601 |
|
8602 * g-builtins.cc: Include version.h and sys/param.h here. |
|
8603 * t-builtins.cc: Not here. |
|
8604 |
|
8605 * g-builtins.cc: Move builtin_clc, builtin_clock, builtin_date, |
|
8606 builtin_pause, builtin_quit, builtin_warranty here from |
|
8607 t-builtins.cc. |
|
8608 |
|
8609 * builtin-fcns.cc (general_functions): Move builtin_clc, |
|
8610 builtin_clock, builtin_date, builtin_pause, builtin_quit, |
|
8611 builtin_warranty here from text_functions to limit the number of |
|
8612 reserved words. |
|
8613 |
|
8614 * scripts/*.m: Check for correct number of input arguments before |
|
8615 proceeding. |
|
8616 |
|
8617 * configure.in (DEFAULT_PAGER): Look for less, more, page, and pg. |
|
8618 |
|
8619 * t-buitlins.cc (builtin_help): If no arguments are given, list |
|
8620 all the known operators, keywords, functions, and variables. |
|
8621 |
|
8622 * t-builtins.cc (builtin_help) Pass the output through PAGER using |
|
8623 a libg++ procbuf. |
|
8624 (builtin_who): Ditto. |
|
8625 |
|
8626 * utils.cc (get_pager): New function. |
|
8627 |
|
8628 * help.h, help.cc: New files to manage lists of help info for |
|
8629 keywords and operators. |
|
8630 |
|
8631 * symtab.cc (symbol_record): Implement the Matlab-style semantics |
|
8632 of functions using two symbol_def objects. |
|
8633 * (symbol_table): Store identifier names in a hash table instead |
|
8634 of a linear list. |
|
8635 * symtab.cc (symbol_def): New class. |
|
8636 |
|
8637 Sat Dec 12 00:00:00 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8638 |
|
8639 * parse.y (yyerror): Change error text to be more accurate. |
|
8640 |
|
8641 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Only look in the current symbol |
|
8642 table for names. Function names and other global symbols are now |
|
8643 resolved at execution time. |
|
8644 |
|
8645 * symtab.cc (sorted_var_list): New function. |
|
8646 * (sorted_fcn_list): Ditto. |
|
8647 * (var_list): Ditto. |
|
8648 * (fcn_list): Ditto. |
|
8649 These should probably not all be separate functions... |
|
8650 |
|
8651 * t-functions.cc (builtin_who): Call sorted_var_list for each |
|
8652 symbol table to print variable names only. |
|
8653 * Accept -fcn, -fcns, or -functions to also list function names. |
|
8654 * Make -all list function names, but under a separate heading from |
|
8655 other symbols. |
|
8656 |
|
8657 * builtin-fcns.cc (is_text_function_name): New function. |
|
8658 * lex.l ([_a-zA-Z][_a-zA-Z0-9]*): Use is_text_function_name to |
|
8659 find if a name is a text function name instead of relying on the |
|
8660 symbol tables. |
|
8661 |
|
8662 * lex.l (is_keyword): New function. |
|
8663 ([_a-zA-Z][_a-zA-Z0-9]*): Use is_keyword instead of having a |
|
8664 special lex pattern for each keyword. |
|
8665 |
|
8666 Thu Dec 10 12:25:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8667 |
|
8668 * t-builtins.cc: Declare top_level_sym_tab extern. |
|
8669 |
|
8670 * Version 0.51. |
|
8671 |
|
8672 Wed Dec 9 02:00:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8673 |
|
8674 * tree-extras.cc (all user_functions): If the return value from a |
|
8675 user's function is bogus, print an error message and abort to the |
|
8676 top level. |
|
8677 |
|
8678 * tree-const.cc (all do_matrix_index functions): Major overhaul to |
|
8679 simplify and apply range checking before doing the indexing. |
|
8680 |
|
8681 * tree-const.cc (fortran_row, fortran_column, valid_scalar_indices, |
|
8682 matrix_to_fortran_indices): Move here from arith-ops.cc and |
|
8683 declare as `static inline'. Delete declarations from arith-ops.h. |
|
8684 |
|
8685 * arith-ops.cc (gripe_nonconformant_assignment): Delete function. |
|
8686 |
|
8687 * tree-const.h (TREE_TO_MAT_IDX): Delete macro. |
|
8688 * tree-const.cc (tree_to_mat_idx): Make it an inline function. |
|
8689 |
|
8690 * tree-const.cc (all do_matrix_assignment functions): Major |
|
8691 overhaul to simplify resizing and range checking. |
|
8692 |
|
8693 * tree-const.cc (): Move here from arith-ops.cc. |
|
8694 Jump to top level on errors. |
|
8695 Return max value. |
|
8696 (indexed_assign_conforms) New function. |
|
8697 (index_check (int)): New function. |
|
8698 (index_check (Range)): New function. |
|
8699 |
|
8700 Tue Dec 8 21:07:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8701 |
|
8702 * tree-const.cc (tree_constant_rep::tree_constant_rep (Range): |
|
8703 Don't create range constants that have less than 2 elements. |
|
8704 |
|
8705 * utils.cc (jump_to_top_level): New function. |
|
8706 * All: Replace calls to longjmp with calls to jump_to_top_level(). |
|
8707 Don't include <setjmp.h>, except in octave.cc, and utils.cc. |
|
8708 |
|
8709 Mon Dec 7 01:57:30 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8710 |
|
8711 * configure.in: Create Imakefile in gnuplot-build directory. |
|
8712 Look for xmkmf, then X11/X.h. |
|
8713 * gnuplot-build/Makefile.in: Try harder to get notgnuplot_x11 to |
|
8714 build correctly. |
|
8715 * gnuplot-build/Imakefile.in: New file, for building |
|
8716 notgnuplot_x11 if xmkmf is available. |
|
8717 |
|
8718 * Version 0.50. |
|
8719 |
|
8720 * gnuplot-build/Makefile.in (SUBDIRS): Add docs. |
|
8721 |
|
8722 * tree-const.h (make_numeric_or_range_or_magic): New function. |
|
8723 * tree-const.cc (do_matrix_index): Use it instead of make_numeric |
|
8724 so that we actually take advantage of all the special cases we |
|
8725 have for range types as matrix indices. |
|
8726 |
|
8727 * tree-const.cc (tree_constant_rep::do_matrix_index (int, Matrix)): |
|
8728 Fix typo. |
|
8729 |
|
8730 * DAE.cc (integrate): If returning a matrix of values, don't mix |
|
8731 time with the states. |
|
8732 * ODE.cc (integrate): Likewise. |
|
8733 |
|
8734 Sun Dec 6 16:58:41 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8735 |
|
8736 * tree-extras.cc (dassl): New function. |
|
8737 * g-builtins.cc (builtin_dassl): Make it work. |
|
8738 * doc/octave.1: Document it. |
|
8739 |
|
8740 * DAEFunc.h, DAEFunc.cc, DAE.h, DAE.cc: New files. |
|
8741 |
|
8742 * tree-extras.cc (lsode): Clean up. Use available functions |
|
8743 instead of doing everything in line. |
|
8744 |
|
8745 * tree.cc (tree_multi_assignment_expression::eval): Don't define |
|
8746 constants that are of unknown type. |
|
8747 Try to be smarter about padding after last value. |
|
8748 |
|
8749 * tree-extras.cc (lu): Don't bother trying to return the LU |
|
8750 factorization in a single matrix since this isn't really useful |
|
8751 and isn't compatible with Matlab anyway (they use Linpack, we use |
|
8752 Lapack). |
|
8753 |
|
8754 * tree.cc (tree_identifier::assign (rhs, args, nargs)): Only try |
|
8755 to do assignment if rhs is defined. |
|
8756 |
|
8757 Sat Dec 5 18:23:55 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8758 |
|
8759 * tree-extras.cc (qr): New function. |
|
8760 * g-builtins.cc (builtin_qr): New function. |
|
8761 * builtins.cc: Add builtin_qr to list of builtin functions. |
|
8762 * doc/octave.1: Document it. |
|
8763 |
|
8764 * Matrix.cc (Matrix::lu): Use dgesv from Lapack instead of dgefa |
|
8765 since it returns L and U, not some factors that need decoding. |
|
8766 (ComplexMatrix:lu): Likewise. |
|
8767 |
|
8768 Fri Dec 4 01:51:05 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8769 |
|
8770 * configure.in (INCDIRS): Don't include /usr/local/include. |
|
8771 (LIBDIRS): Don't include /usr/local/lib. |
|
8772 |
|
8773 * tree-extras.cc (lu): New function. |
|
8774 * g-builtins.cc (builtin_lu): New function. |
|
8775 * builtins.cc: Add builtin_lu to list of builtin functions. |
|
8776 * doc/octave.1: Document it. |
|
8777 |
|
8778 * Matrix.cc (Matrix:lu, ComplexMatrix:lu): New functions. |
|
8779 * Matrix.h, Matrix.cc (LU, ComplexLU): New classes. |
|
8780 |
|
8781 * tree-extras.cc (do_quad): New function. |
|
8782 * g-builtins.cc (builtin_quad): New function. |
|
8783 * builtins.cc: Add builtin_quad to list of builtin functions. |
|
8784 * doc/octave.1: Document it. |
|
8785 |
|
8786 * doc/Makefile.in (install): Edit the manpage to substitute |
|
8787 correct values in the FILES section. |
|
8788 (dist) Depend on octave.info. |
|
8789 (local-dist): Ditto. |
|
8790 |
|
8791 * Quad.h, Quad.cc: New files to implement quadrature. |
|
8792 |
|
8793 * NPSOL.cc (npsol_objfun): If compiling with GCC on a Sun, assign |
|
8794 to objf via assign_double(). |
|
8795 |
|
8796 * sun-utils.h, sun-utils.cc: New files. |
|
8797 * sun-utils.cc: Move declaration and definition of MAIN_ here from |
|
8798 utils.cc. |
|
8799 (access_double): New function, from GCC manual. |
|
8800 (assign_double): New function, after access_double. |
|
8801 |
|
8802 Thu Dec 3 03:16:03 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8803 |
|
8804 * NEWS: New file. |
|
8805 * Makefile.in: Distribute it. |
|
8806 |
|
8807 * scripts/*.m: Change to use new end feature. |
|
8808 |
|
8809 * lex.l: Recognize `endif', `endfor', `endfunction', `endif', and |
|
8810 `endwhile', in addtion to `end'. |
|
8811 * parse.y: Check for command/end mismatches. |
|
8812 (end_error): New function. |
|
8813 * doc/octave.1: Document it. |
|
8814 |
|
8815 Wed Dec 2 11:57:18 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8816 |
|
8817 * libcruft/villad: New directory. Move and split villad.f here |
|
8818 from libcruft/misc. |
|
8819 * configure.in: Create Makefile in libcruft/villad. |
|
8820 * libcruft/Makefile.in: Add libcruft/villad to list of dirs to make. |
|
8821 |
|
8822 * All Makefile.in (uninstall): New target. |
|
8823 (distclean): Likewise. |
|
8824 (check): Ditto. |
|
8825 * Try to make clean targets conform with GNU coding standards. |
|
8826 |
|
8827 * utils.cc (smells_like_X11): New function. |
|
8828 * builtin-fcns.cc (install_builtins): Don't set graphics terminal |
|
8829 to x11 unless it looks like we're running X11. |
|
8830 |
|
8831 * win_texas_lotto.m: New M-file. |
|
8832 * octave.1: Document it. |
|
8833 |
|
8834 * arith-ops.h: New file. |
|
8835 * src/Makefile.in: Build arith-ops.o, distribute arith-ops.cc, |
|
8836 arith-ops.h. Maybe this will at least speed up recompiles. |
|
8837 |
|
8838 * THANKS: New file |
|
8839 * Makefile.in: Distribute it. |
|
8840 |
|
8841 * configure.in: Create Makefile in gnuplot-build/docs. |
|
8842 * gnuplot-build/docs/Makefile.in: New file. |
|
8843 * Create and install notgnuplot.gih. |
|
8844 |
|
8845 Tue Dec 1 00:15:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8846 |
|
8847 * tree.cc (tree_identifier::eval (int)): Only pad after if printing. |
|
8848 (tree_multi_assignment_expression::eval (int)): Ditto. |
|
8849 (tree_assignment_expression::eval (int)): Ditto. |
|
8850 |
|
8851 * hankel.m: Use disp to print message. |
|
8852 * toeplitz.m: Ditto. |
|
8853 |
|
8854 * lex.l (<MATRIX>{SN}*\]/{S}*=): Check maybe_screwed_again to |
|
8855 decide whether to return SCREW_TWO or ']'. |
|
8856 |
|
8857 * doc/Makefile.in (install): Really install the manpage. |
|
8858 |
|
8859 * Version 0.49. |
|
8860 |
|
8861 * Matrix.cc (ComplexMatrix::operator !): New function. |
|
8862 * arith-ops.cc (do_unar_op): Use it. |
|
8863 |
|
8864 * tree-extras.cc (inverse, svd, eig): Don't try to operate on |
|
8865 empty matrices. |
|
8866 |
|
8867 * Matrix.h, Matrix.cc: (EIG): New class. |
|
8868 (Matrix::eig): New functions. |
|
8869 (ComplexMatrix::eig): Ditto. |
|
8870 * tree-extras (eig): Use them. |
|
8871 * g-builtins.cc (builtin_eig): New function. |
|
8872 * builtin-fcns.cc (general_functions): Add eig to list. |
|
8873 * dococtave.1: Document it. |
|
8874 |
|
8875 * Matrix.h, Matrix.cc: (ComplexDET): New class. |
|
8876 * tree-extras (determinant): Use it. |
|
8877 |
|
8878 Mon Nov 30 04:02:29 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8879 |
|
8880 * Matrix.h, Matrix.cc (ComplexSVD): New class. |
|
8881 * tree-extras (svd): Use it. |
|
8882 |
|
8883 * Matrix.cc (svd): Use lapack instead of linpack to compute SVD. |
|
8884 |
|
8885 * libcruft/Makefile.in: Replace eispack with lapack in |
|
8886 subdirectory list. |
|
8887 * libcruft/eispack: Delete directory. |
|
8888 * libcruft/lapack/Makefile.in: New file. |
|
8889 * configure.in: Create Makefile in libcruft/lapack, not |
|
8890 libcruft/eispack. |
|
8891 |
|
8892 * libcruft/lapack: New directory. |
|
8893 * Copy files for SVD and Eigenvalue computation here. |
|
8894 |
|
8895 * lex.l (<MATRIX>{SN}*\]/{S}*=): Only return SCREW_TWO if not |
|
8896 defining a function. |
|
8897 |
|
8898 * arith-ops.cc (do_binary_op (double, double)): For pow operator, |
|
8899 don't create complex value if exponent is really an int. |
|
8900 |
|
8901 * configure.in: Check for f77 last. |
|
8902 * Print warnings if bison or lex is not found. |
|
8903 * Reformat fatal no f2c/f77 error message. |
|
8904 |
|
8905 * flib.sh: Make it work even if xlf is called f77. |
|
8906 |
|
8907 Sun Nov 29 01:55:41 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8908 |
|
8909 * tree-extras.cc: Include f77-uscore.h. |
|
8910 * Use F77_FCN macro when declaring or calling Fortran functions. |
|
8911 |
|
8912 * configure.in: After checking to see that it's not garbage, add |
|
8913 the output of f2c-compat.sh to DEFS. |
|
8914 |
|
8915 * f2c-compat.sh: Figure out whether or not we need to append an |
|
8916 underscore to Fortran function names. |
|
8917 |
|
8918 * flibs.sh: Handle xlf -v output as special case. |
|
8919 |
|
8920 * octave.cc: Only define BADSIG if it isn't already defined. |
|
8921 * g-builtins.cc: Ditto. |
|
8922 |
|
8923 * configure.in: Don't create man/Makefile. |
|
8924 * man: Directory deleted. |
|
8925 * doc/Makefile.in: Distribute and install octave.1. |
|
8926 * doc/octave.1: Renamed from man/octave.1. |
|
8927 |
|
8928 Sat Nov 28 15:54:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8929 |
|
8930 * man/Makefile.in (install): Install manpage. |
|
8931 * octave.1: rename from octave.man |
|
8932 * octave.1: Document builtin variables and command line editing |
|
8933 (stolen from bash man page). |
|
8934 |
|
8935 * tree-const.cc (eval (int print)): Convert complex values to real |
|
8936 if imaginary part is zero. |
|
8937 |
|
8938 * octave.cc (log_usage): Deleted. |
|
8939 (main): Don't call log_usage. |
|
8940 |
|
8941 * g-builtins.cc (builtin_sqrt): Delete. |
|
8942 (builtin_log): Ditto. |
|
8943 (builtin_log10): Ditto. |
|
8944 |
|
8945 * tree-const.h, tree-const.cc (sqrt_internal): Delete. |
|
8946 (log_internal): Ditto. |
|
8947 (log10_internal): Ditto. |
|
8948 |
|
8949 * tree-const.cc (mapper): Handle neg_arg_complex. |
|
8950 |
|
8951 * builtin-fcns.h (Mapper_fcn): New field neg_arg_complex. |
|
8952 * builtin-fcns.cc: (mapper_functions[]): Initialize it for list of |
|
8953 mapper functions. |
|
8954 * builtin-fcns.cc: (mapper_functions[]): Move log, log10, and sqrt |
|
8955 back here from general_functions[]. |
|
8956 |
|
8957 Fri Nov 27 17:05:21 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8958 |
|
8959 * tree-extras.cc (tree_constant_to_vector): Handle complex scalars |
|
8960 and matrices. |
|
8961 |
|
8962 Wed Nov 25 17:32:42 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8963 |
|
8964 * man/octave.man: New file, very incomplete. |
|
8965 * man/Makefile.in: Include octave.man in list of files to |
|
8966 distribute. |
|
8967 |
|
8968 * g-buitlins.cc (builtin_rand): Handle nargin == 1. |
|
8969 * tree-extras.cc (rand): Likewise. |
|
8970 |
|
8971 * rem.m: New M-file. Implemented as M-file because it's much |
|
8972 simpler! |
|
8973 |
|
8974 * configure.in (DEFAULT_DOT_C_FROM_DOT_F): Escape % characters in |
|
8975 rule to avoid problems with autoconf, which uses % for sed command |
|
8976 delimeters. |
|
8977 (DEFAULT_DOT_O_FROM_DOT_F): Ditto. |
|
8978 |
|
8979 Tue Nov 24 00:21:34 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
8980 |
|
8981 * tree-extras.cc (fill_matrix): Don't try to create matrices with |
|
8982 negative dimensions. |
|
8983 (frobit): Likewise. |
|
8984 |
|
8985 * utils.cc (check_dimensions): New function. |
|
8986 |
|
8987 * utils.cc (treat_neg_dim_as_zero): New function. |
|
8988 * builtin-fcns.cc (treat_neg_dim_as_zero): New builtin variable, |
|
8989 default value is false. |
|
8990 |
|
8991 * tree-const.h (tree_constant::bump_value): Like, assign, check |
|
8992 reference count and possibly make a new copy before changing |
|
8993 anything. |
|
8994 |
|
8995 * tree-base.h (is_builtin): New virtual function. |
|
8996 * tree.cc (tree_builtin::is_builtin): New function. |
|
8997 |
|
8998 * parse.y (ans_expression): Also check to see if the lone |
|
8999 expression is a builtin text-style function invoked without any |
|
9000 arguments. |
|
9001 |
|
9002 * octave.cc, t-builtins.cc: Print copyright and other normal |
|
9003 (non-error) message on cout instead of cerr. |
|
9004 |
|
9005 * t-builtins.cc (builtin_warranty): Don't return message in |
|
9006 retval. |
|
9007 (builtin_history): Likewise. |
|
9008 (builtin_help): Also. |
|
9009 (builtin_who): Ditto. |
|
9010 |
|
9011 * Version 0.48. |
|
9012 |
|
9013 * tree-extras.cc: Fix most functions to handle complex arguments. |
|
9014 Still need to finish SVD and DET (waiting for these functions in |
|
9015 the Matrix class). |
|
9016 |
|
9017 * tree.cc (tree_multi_assignment::eval): Optionally print names |
|
9018 for result variables. |
|
9019 |
|
9020 * tree-const.h (tree_constant::eval (int print, int nargout)): |
|
9021 New function. Simply ignore nargout. |
|
9022 * tree.cc (tree_matrix::eval (int print, int nargout)): Ditto. |
|
9023 |
|
9024 * tree.cc (tree_parameter_list::name): New function. |
|
9025 |
|
9026 * lex.l (<NEWMAT>): Delete rules, start condition because they are |
|
9027 unecessary. |
|
9028 |
|
9029 * lex.l (<MATRIX>{SN}*\]): Split into three rules. Use trailing |
|
9030 context instead of home-brew lookahead. |
|
9031 |
|
9032 Mon Nov 23 00:51:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9033 |
|
9034 * utils.cc (ok_to_lose_imaginary_part): New function. |
|
9035 * builtin-fcns.cc (ok_to_lose_imaginary_part): New builtin |
|
9036 variable, default value is warn. |
|
9037 |
|
9038 * tree-const.h (double_value): Maybe return real part if invoked |
|
9039 for complex tree_constant. |
|
9040 * tree-const.h (matrix_value): Ditto. |
|
9041 |
|
9042 * Version 0.47. This one wasn't tested, but there have been a lot |
|
9043 of significant changes and I wanted a backup. |
|
9044 |
|
9045 * tree-const.cc (sqrt_internal): New function. Sqrt isn't |
|
9046 implemented as a mapper function since negative real arguments |
|
9047 give complex results. |
|
9048 (log_internal): Ditto. |
|
9049 (log10_internal): Ditto. |
|
9050 * builtin-fcns.cc: Move sqrt, log, and log10 from mapper struct |
|
9051 initializer to general function struct initializer. |
|
9052 |
|
9053 * rot90.m: New M-file. Still needs rem() to be complete. |
|
9054 |
|
9055 * tree-const.cc (mapper): Handle mapper functions for complex |
|
9056 variables. |
|
9057 |
|
9058 * mappers.h, mappers.cc: New file for mapper functions. |
|
9059 |
|
9060 * builtin-fcns.h, builtin-fcns.cc: Rename from builtins.h |
|
9061 builtins.cc. |
|
9062 |
|
9063 * flipud.m: Don't do indexing on lhs. |
|
9064 * fliplr.m: Likewise. |
|
9065 |
|
9066 Sun Nov 22 17:09:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9067 |
|
9068 * arith-ops.cc (do_binary_op (double, double)): Handle a^b for |
|
9069 a < 0. |
|
9070 |
|
9071 * builtins.cc: Make sqrt a general builtin function instead of a |
|
9072 mapper function. |
|
9073 * g-builtins.cc (builtin_sqrt): New function. |
|
9074 * tree-const.cc (sqrt_internal): New function. |
|
9075 |
|
9076 Sat Nov 21 16:41:02 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9077 |
|
9078 * tree-const.h, tree-const.cc: Complete most changes required to |
|
9079 handle complex types. There are lots of details, most will be |
|
9080 omitted here. |
|
9081 |
|
9082 * tree-const.h (is_real_type) New function. |
|
9083 (is_complex_type): Ditto. |
|
9084 (is_scalar_type): Ditto. |
|
9085 (is_matrix_type): Ditto. |
|
9086 |
|
9087 * tree-const.h (REP_RHS_MATRIX, REP_ELEM_ASSIGN, CRMATRIX, |
|
9088 ASSIGN_CRMATRIX_TO, CRMATRIX_ASSIGN_REP_ELEM, |
|
9089 CRMATRIX_ASSIGN_ELEM): New macro for dealing with real and complex |
|
9090 matrices in the same tree_constant_rep function. |
|
9091 |
|
9092 * tree-const.cc: Include arith-ops.cc. |
|
9093 |
|
9094 * arith-op.cc: New file for functions that implement unary and |
|
9095 binary operations for the tree_constat classes. |
|
9096 * Mark all operations that aren't implemented yet with a |
5775
|
9097 FIXME comment. There are about 35-40 things left to fix |
2330
|
9098 in this file. |
|
9099 |
|
9100 Thu Nov 19 00:25:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9101 |
|
9102 * Version 0.46. |
|
9103 [ This one wasn't tested, but there have been a lot of significant |
|
9104 changes and I wanted a backup. ] |
|
9105 |
|
9106 * tree-const.cc (tree_constant_rep::do_unary_op): Handle Complex. |
|
9107 (do_unary_op (Complex&, tree::expression_type)): New function. |
|
9108 (do_unary_op (ComplexMatrix&, tree_expression_type): Ditto. |
|
9109 |
|
9110 * tree-const.cc (tree_constant_rep::assign): Handle Complex |
|
9111 (still needs updated support functions in order to work). |
|
9112 |
|
9113 * tree.cc (tree_matrix::eval): Handle Complex. |
|
9114 (tree_identifier::eval): Ditto. |
|
9115 (tree_for_command::eval): Ditto. |
|
9116 |
|
9117 Wed Nov 18 23:33:13 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9118 |
|
9119 * tree_const.cc (tree_constant_rep::rows): Handle Complex. |
|
9120 (tree_constant_rep::columns): Ditto. |
|
9121 (tree_constant_rep::all): Ditto. |
|
9122 (tree_constant_rep::any): Ditto. |
|
9123 (tree_constant_rep::cumprod): Ditto. |
|
9124 (tree_constant_rep::cumsum): Ditto. |
|
9125 (tree_constant_rep::prod): Ditto. |
|
9126 (tree_constant_rep::sum): Ditto. |
|
9127 (tree_constant_rep::sumsq): Ditto. |
|
9128 |
|
9129 * tree_const.h, tree_const.cc (tree_constant::complex_value): New |
|
9130 function. |
|
9131 (tree_constant_rep::complex_value): Ditto |
|
9132 (tree_constant::complex_matrix_value): New |
|
9133 (tree_constant_rep::complex_matrix_value): New |
|
9134 |
|
9135 * tree_const.cc (tree_constant_rep::~tree_constant_rep): Handle |
|
9136 complex scalars and matrices. |
|
9137 (tree_constant_rep::force_numeric): Ditto. |
|
9138 (tree_constant_rep::make_numeric): Ditto. |
|
9139 (tree_constant_rep::eval): Ditto. |
|
9140 (tree_constant_rep::bump_value): Ditto. C++, for C == a |
|
9141 complex value is C = C + 1. Should I even do this? Hmmm. |
|
9142 |
|
9143 * tree-const.h, tree-const.cc: Begin adding support for Compelex. |
|
9144 * Add complex_scalar and complex_matrix to value union. |
|
9145 * Add complex_scalar_constant and complex_matrix_constant to type |
|
9146 tag enum. |
|
9147 * New constructors. |
|
9148 |
|
9149 * Matrix.h, Matrix.cc: Major changes to add Complex support. |
|
9150 |
|
9151 Tue Nov 17 14:40:45 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9152 |
|
9153 * Matrix.cc (RowVector::operator (const Matrix&)): New function. |
|
9154 |
|
9155 * Matrix.cc (ColumnVector::transpose): New function. |
|
9156 Eliminate friend function that served the same purpose. |
|
9157 (RowVector::transpose): Ditto. |
|
9158 |
|
9159 Mon Nov 16 09:57:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9160 |
|
9161 * lex.l (QSTRING): Fix to allow '' inside a string to represent a |
|
9162 single quote. Makes computer.m a little funnier. |
|
9163 |
|
9164 Fri Nov 13 18:46:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9165 |
|
9166 * Version 0.45. |
|
9167 |
|
9168 * computer.m: New M-file. |
|
9169 * tril.m: Ditto. |
|
9170 * triu.m: Ditto. |
|
9171 |
|
9172 * doc (*.texi): Can now produce BUGS, INSTALL, and octave.info |
|
9173 files without generating errors, though the organization is |
|
9174 probably till very wrong. |
|
9175 |
|
9176 * Makefile.in (newversion): Add magic to handle major versions |
|
9177 other than 0, and major/minor versions of any length. |
|
9178 |
|
9179 Thu Nov 12 01:37:45 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9180 |
|
9181 * g-builtins.h, tree-const.h, builtins.cc, g-builtins.cc, |
|
9182 tree-extras.cc: Conditionally compile code for NPSOL and FSQP |
|
9183 based on FSQP_MISSING and NPSOL_MISSING. |
|
9184 * g-builtins.cc (builtin_npsol): If NPSOL is missing, always call |
|
9185 npsol_usage() to print out message indicating why NPSOL doesn't |
|
9186 work. |
|
9187 * g-builtins.cc (builtin_fsqp): Likewise for FSQP. |
|
9188 |
|
9189 * configure.in: Check for srcdir/libcruft/npsol/npsol.f and |
|
9190 srcdir/libcruft/fsqp/fsqp.f. If missing, define NPSOL_MISSING or |
|
9191 FSQP_MISSING and add them to DEFS. |
|
9192 |
|
9193 * libcruft/npsol/README.MISSING: New file. |
|
9194 * libcruft/fsqp/README.MISSING: Ditto. |
|
9195 |
|
9196 * libcruft/npsol/Makefile.in (dist): Don't distribute sources |
|
9197 because of license restriction. Do distribute Makefile.in and |
|
9198 README.MISSING. |
|
9199 * libcruft/fsqp/Makefile.in (dist): Ditto. |
|
9200 |
|
9201 * All Makefile.in files (local-dist): New target, usually the same |
|
9202 as dist. |
|
9203 |
|
9204 * parse.y (ans_expression): Check to see that the RHS isn't just |
|
9205 an identifier. |
|
9206 * tree.cc (tree_identifier::eval (int)): Maybe print id name. |
|
9207 * tree.cc (tree_assignment::eval (int)): Ditto. |
|
9208 * buitlins.cc (print_answer_id_name): New builtin variable. |
|
9209 * utils.cc (print_answer_id_name): New function. |
|
9210 |
|
9211 Tue Nov 10 10:58:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9212 |
|
9213 * octave.cc (log_usage): Surround with #if 0/#endif. |
|
9214 |
|
9215 Mon Nov 9 13:42:54 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9216 |
|
9217 * symtab.cc (load): Only issue error mesasge if attempt to find |
|
9218 _first_ name keyword fails. |
|
9219 |
|
9220 * tree-const.cc (make_numeric_or_magic): New function. Like |
|
9221 make_numeric except also pass magic_colons. |
|
9222 * tree-const.cc (all do_matrix_index functions): Matrix ndices can |
|
9223 be naked colons, so use make_numeric_or_magic on index arguments |
|
9224 instead of make_numeric. |
|
9225 |
|
9226 * liboctave/Makefie.in (install): Install .h files in $(includedir). |
|
9227 (includedir): New macro, default value $(prefix)/include. |
|
9228 |
|
9229 * tree.cc (tree_function::eval (int print)): Force arguments to be |
|
9230 undefined. |
|
9231 |
|
9232 * tree-const.h (tree_constant::assign (rhs, args, nargs)): Check |
|
9233 reference count before assigning. |
|
9234 * tree.cc (tree_identifier::assign (rhs, args, nargs)): Don't eval |
|
9235 lhs before doing assignment. |
|
9236 |
|
9237 * tree.cc (parse_m_file): Gobble leading white space, including |
|
9238 comments. |
|
9239 |
|
9240 Fri Nov 6 16:52:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9241 |
|
9242 * Version 0.44. |
|
9243 |
|
9244 * g-builtins.cc (builtin_getenv): New function. |
|
9245 |
|
9246 * isempty.m: New M-file. |
|
9247 |
|
9248 * g-builtins.cc (builtin_exist): New function. |
|
9249 * utils.cc (identifier_exists): Handle the dirty details. |
|
9250 |
|
9251 * utils.cc (warn_comma_in_global_decl): New function. |
|
9252 * builtins.cc (warn_comma_in_global_decl): New builtin variable. |
|
9253 Initial value is true. |
|
9254 * parse.y (global_decl): Handle global declarations here, |
|
9255 including optional initialization. |
|
9256 * t-builtins.cc (builtin_global): Deleted. |
|
9257 |
|
9258 Thu Nov 5 23:59:39 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9259 |
|
9260 * g-builtins.cc (builtin_feval): New function. |
|
9261 * tree-extras.cc (feval): Handle the dirty details. |
|
9262 |
|
9263 * g-builtins.cc (builtin_rand): New function. |
|
9264 * tree-extras.cc (rand): Handle the dirty details. |
|
9265 |
|
9266 Wed Nov 4 14:54:17 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9267 |
|
9268 * num2str.m: New M-file. |
|
9269 * int2str.m: Ditto. |
|
9270 |
|
9271 * g-builtins.cc (builtin_disp): New function. |
|
9272 |
|
9273 * g-builtins.cc (builtin_fprintf, builtin_printf, |
|
9274 builtin_sprintf): New functions. |
|
9275 * tree-extras.cc (do_printf): New function to handle the gory |
|
9276 details. |
|
9277 |
|
9278 * g-builtins.cc (builtin_flops): Implement here because we may |
|
9279 actually want to count operations at some point. |
|
9280 |
|
9281 Tue Nov 3 17:06:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9282 |
|
9283 * tree-const.cc (do_binary_op): Detect and give error message for |
|
9284 optations on empty matrices. |
|
9285 (do_unary_op): Likewise. |
|
9286 |
|
9287 * parse.y (matrix): Convert `[]' and `[;]' to empty matrices |
|
9288 instead of (tree_matrix *) NULL. |
|
9289 |
|
9290 Mon Nov 2 11:23:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9291 |
|
9292 * src/Makefile.in: Update dependencies. |
|
9293 * liboctave/Makefile.in: Ditto. |
|
9294 |
|
9295 * tree-const.cc (force_numeric): Consult matlab_strings() |
|
9296 before doing string to number conversion. |
|
9297 * builtins.cc (matlab_strings): New builtin variable. |
|
9298 * utils.cc (matlab_strings): New function. |
|
9299 |
|
9300 * tree-extras.cc (linear_constraints_ok): New function. |
|
9301 (linear_constraints_ok): Ditto. |
|
9302 (npsol): Use them to avoid creating inconsistent sets of |
|
9303 constraints and crashing. It would really be nice to have |
|
9304 exception handling. |
|
9305 |
|
9306 * symtab.cc (load): Issue error mesasges if attempt to find |
|
9307 name keyword fails. |
|
9308 |
|
9309 * Version 0.43. |
|
9310 |
|
9311 * tree-extras.cc (npsol): Use new minimize (phi, inform). |
|
9312 Handle nargout == 3. |
|
9313 |
|
9314 * g-builtins.cc (builtin_npsol): Allow nargout == 3. |
|
9315 |
|
9316 * NPSOL.cc (set_default_options): New function. |
|
9317 (all constructors): Use it. |
|
9318 (operator =): Use it and print warning message (setting default |
|
9319 options doesn't represent a true copy and it would be somewhat |
|
9320 difficult to fix this...). |
|
9321 |
|
9322 * npchkd.f (npchkd): Only write message if msglvl > 0. |
|
9323 |
|
9324 Sun Nov 1 00:58:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9325 |
|
9326 * gnuplot-build/Makefile.in (LIBDIRS): Set correctly. |
|
9327 (notgnuplot): Use it. |
|
9328 |
|
9329 * libcruft/misc/gen-d1mach.c: Generate d1mach.f at build time |
|
9330 instead of depending on the installer to get it right. |
|
9331 * libcruft/Makefile.in (gen-d1mach): New target. |
|
9332 |
|
9333 * libcruft/Makerules.in (SPECIAL): New macro. |
|
9334 (DISTFILES): Include it. |
|
9335 |
|
9336 * libcruft/Makerules.in (SPECIAL_DEPEND): Ditto. |
|
9337 (../../libcruft.a): Use it. |
|
9338 |
|
9339 Mon Oct 26 02:25:11 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9340 |
|
9341 * tree-extras.cc (is_valid_function): Try harder to find M-files |
|
9342 that may not have been parsed yet. |
|
9343 |
|
9344 * symtab.cc (define (symbol_record*)): New function. Make it |
|
9345 simple to copy all fields of a symbol_record if we already have |
|
9346 one. |
|
9347 * utils.cc (force_global): Use it. |
|
9348 |
|
9349 * utils.cc (valid_identifier): Allow underscores in names. |
|
9350 |
|
9351 * tree-extras.cc (npsol): Force column vector to be returned. |
|
9352 (fsolve): Ditto. |
|
9353 |
|
9354 * Version 0.42. |
|
9355 |
|
9356 * tree-extras.cc (fsolve): New function for solving nonlinear |
|
9357 algebraic equations. This needs much more work if it is to |
|
9358 provide all the functionality of Matlab's fsolve. |
|
9359 |
|
9360 * tree-extras.cc (fsolve_user_function): New function. |
|
9361 |
|
9362 * libcruft/minpack: Import needed functions. |
|
9363 |
|
9364 * tree-extras.cc: (npsol (tree_constant*, int, int): Completely |
|
9365 rewrite to handle all of the follwing: |
|
9366 |
|
9367 1. npsol (x, phi) |
|
9368 2. npsol (x, phi, lb, ub) |
|
9369 3. npsol (x, phi, lb, ub, llb, c, lub) |
|
9370 4. npsol (x, phi, lb, ub, llb, c, lub, nllb, g, nlub) |
|
9371 5. npsol (x, phi, lb, ub, nllb, g, nlub) |
|
9372 6. npsol (x, phi, llb, c, lub, nllb, g, nlub) |
|
9373 7. npsol (x, phi, llb, c, lub) |
|
9374 8. npsol (x, phi, nllb, g, nlub) |
|
9375 |
|
9376 * tree-extras.cc (npsol_constraint_function): New function. |
|
9377 |
|
9378 * tree-extras.cc (tree_constant_to_vector): New function. |
|
9379 (tree_constant_to_matrix): Ditto. |
|
9380 (takes_correct_nargs): Ditto. |
|
9381 |
|
9382 Fri Oct 23 10:19:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9383 |
|
9384 * tree-extras.cc (is_valid_function): New function. |
|
9385 (npsol): Use it. |
|
9386 |
|
9387 * utils.cc (s_plural): New function. |
|
9388 (es_plural): Ditto. |
|
9389 |
|
9390 * tree-extras.cc (npsol): Improve checks for valid objective |
|
9391 function. |
|
9392 |
|
9393 * tree.cc (tree_function::max_expected_args): New function. |
|
9394 |
|
9395 Thu Oct 22 18:42:07 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9396 |
|
9397 * g-builtins.cc (builtin_lsode): Quick check of arguments, then |
|
9398 call lsode (tree_constant *, int, int). |
|
9399 * Move rest of code for implementing builtin_lsode to |
|
9400 tree-extras.cc. |
|
9401 |
|
9402 * g-builtins.cc (builtin_npsol: Quick check of arguments, then |
|
9403 call npsol (tree_constant *, int, int). |
|
9404 * Move rest of code for implementing builtin_npsol to |
|
9405 tree-extras.cc. |
|
9406 |
|
9407 * tree-const.cc: Simplify functions that require numeric arguments |
|
9408 by always calling make_numeric for them instead of doing it |
|
9409 conditionally. |
|
9410 * tree.cc: Ditto. |
|
9411 * tree-extras.cc: Ditto. |
|
9412 |
|
9413 * tree-const.h (tree_constant::make_numeric): Return *this if |
|
9414 already a numeric type. |
|
9415 |
|
9416 * NLP.cc: In constructors, don't try to assign NULL to bounds |
|
9417 objects. |
|
9418 |
|
9419 * tree-const.cc (tree_constant_rep::valid_as_scalar_index (void)): |
|
9420 New function. |
|
9421 * tree-const.cc (valid_scalar_indices (tree_constant*, int): |
|
9422 New function. |
|
9423 * tree-const.cc (tree_constant_rep::do_scalar_index): Simplify by |
|
9424 using functions to determine if arguments are valid as indices. |
|
9425 (tree_constant_rep::do_scalar_assignment): Likewise. |
|
9426 |
|
9427 Wed Oct 21 14:11:58 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9428 |
|
9429 * tree-extras.cc (determinant): Make it work again. |
|
9430 |
|
9431 * tree.cc (tree_identifier::eval (tree_constant*, int, int, int): |
|
9432 Simplify logic. Only have one ans->eval() call. |
|
9433 |
|
9434 * tree-const.cc (tree_constant_rep::eval (tree_constant*, int, |
|
9435 int, int): Properly handle indexing of range constants. |
|
9436 |
|
9437 * tree-const.cc (stupid_fortran_style_matrix_index): Preserve row |
|
9438 or column orientation for vectors. |
|
9439 |
|
9440 * toeplitz.m: New M-file. |
|
9441 * invhilb.m: Ditto. |
|
9442 * hankel.m: Ditto. |
|
9443 |
|
9444 * tree-extras.cc (max): Handle two arg case. |
|
9445 tree-extras.cc (max): Likewise. |
|
9446 (min (Matrix&, Matrix&): New function. |
|
9447 (max (Matrix&, Matrix&): Ditto. |
|
9448 |
|
9449 Tue Oct 20 15:13:57 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9450 |
|
9451 * Version 0.41. |
|
9452 |
|
9453 Mon Oct 19 16:46:35 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9454 |
|
9455 * rows.m: New M-file. |
|
9456 * g-builtins.cc (builtin_rows): Delete function. |
|
9457 * g-builtins.h (builtin_rows): Delete declaration. |
|
9458 * builtins.cc (general_functions): Delete from initialization list. |
|
9459 |
|
9460 * columns.m: New M-file. |
|
9461 * g-builtins.cc (builtin_columns): Delete function. |
|
9462 * g-builtins.h (builtin_columns): Delete declaration. |
|
9463 * builtins.cc (general_functions): Delete from initialization list. |
|
9464 |
|
9465 * length.m: New M-file. |
|
9466 * g-builtins.cc (builtin_length): Delete function. |
|
9467 * g-builtins.h (builtin_length): Delete declaration. |
|
9468 * builtins.cc (general_functions): Delete from initialization list. |
|
9469 |
|
9470 * g-builtins.cc (builtin_size): If two values are expected to be |
|
9471 returned, put nr and nc in separate registers. |
|
9472 |
|
9473 Sun Oct 18 13:37:17 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9474 |
|
9475 * tree-base.h: Extract base tree class declarations from tree.h. |
|
9476 * tree-const.cc, tree-const.h: Extract tree_constant class from |
|
9477 from tree.cc, tree.h. |
|
9478 Change all uses of tree.h to use either or both of tree-base.h and |
|
9479 tree-const.h. |
|
9480 |
|
9481 * Matrix.cc (solve): Replaces LinEqn class. |
|
9482 tree.cc (do_binary_op) Use it. |
|
9483 |
|
9484 * g-builtins.cc (builtin_max): New function. |
|
9485 tree.cc (tree_constant::max): New friend. |
|
9486 |
|
9487 * g-builtins.cc (builtin_min): New function. |
|
9488 tree.cc (tree_constant::min): New friend. |
|
9489 |
|
9490 * cond.m: New M-file. |
|
9491 |
|
9492 * rank.m: New M-file. |
|
9493 |
|
9494 * g-builtins.cc (builtin_svd): New function. |
|
9495 tree.cc (tree_constant::svd): New friend function. |
|
9496 |
|
9497 * g-builtins.cc (builtin_svd): New function. |
|
9498 tree.cc (tree_constant::svd): New friend function. |
|
9499 |
|
9500 * t-builtins.cc (builtin_format): New function. Implement some of |
|
9501 the Matlab options (sort of). |
|
9502 |
|
9503 * Major changes to liboctave source. A new Matrix.cc/Matrix.h |
|
9504 completely replaces the old Matrix/Vec/AVec code. All other |
|
9505 classes that use Matrix/Vector objects have been updated (or |
|
9506 deleted, if they are no longer needed). All callers changed in |
|
9507 octave sources. |
|
9508 |
|
9509 Sun Oct 11 21:22:16 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9510 |
|
9511 * tree.cc (tree_function::eval): Don't define more function |
|
9512 parameters than are expected. If fewer arguments than expected |
|
9513 are actually supplied, force them to be undefined. |
|
9514 |
|
9515 * parse.y (fact): Give warning and abort for identifiers followed |
|
9516 by '['. This should catch most improper uses of [] instead of () |
|
9517 for indexing operators. |
|
9518 |
|
9519 * tree.cc (do_binary_op (Matrix&, Matrix&, tree::expression_type): |
|
9520 Handle element by element exponentiation. |
|
9521 |
|
9522 Tue Sep 22 10:09:06 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9523 |
|
9524 * Version 0.40. |
|
9525 |
|
9526 Mon Sep 21 13:09:06 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9527 |
|
9528 * lex.l: Accept ** and .** as well as ^ and .^ as exponentiation |
|
9529 operators. |
|
9530 |
|
9531 Fri Sep 18 15:19:51 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9532 |
|
9533 * tree.h tree.cc utils.cc g-builtins.cc: Elimitate need for |
|
9534 overloaded operator-> in the tree_constant class. Also eliminate |
|
9535 uses of ->string, ->scalar, etc. Instead, always call |
|
9536 .string_value(), .double_value(), etc. |
|
9537 |
|
9538 * builtins.cc (install_builtins): Reserve `ans' as an |
|
9539 uninitialized global variable (should it really be global?). |
|
9540 |
|
9541 * parse.y (ans_expression): Handle default assignemnt to builtin |
|
9542 variable ans. |
|
9543 (command): Use it. |
|
9544 |
|
9545 Tue Sep 15 14:06:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9546 |
|
9547 * Version 0.39. |
|
9548 |
|
9549 * tree.cc (tree_identifier::bump_value): Don't try to increment |
|
9550 undefined symbols or values. |
|
9551 (tree_prefix_expression::eval): Don't call bump_value if id is a |
|
9552 NULL_TREE. |
|
9553 (tree_prefix_expression::eval): Likewise. |
|
9554 |
|
9555 * g-builtins.cc (lsode_builtin): Handle extra arguments. |
|
9556 liboctave/ODE.cc (integ): Add template for handling bad returns |
|
9557 from lsode. |
|
9558 |
|
9559 * tree.cc (class tree_return_command): Implementation is just like |
|
9560 break and continue. Something seems wrong about this... |
|
9561 lex.l (return): Recognize return statement. |
|
9562 parse.y (statement): Handle function returns. |
|
9563 tree.cc (various eval functions): Check to see if we are returning |
|
9564 from a function. |
|
9565 |
|
9566 * tree.cc (tree_for_command::eval): Set abort_on_undefined when |
|
9567 evaluating the loop body. |
|
9568 (tree_while_command::eval): Ditto. |
|
9569 |
|
9570 * tree.cc (class tree_idenfier): Improve searching/parsing M-files |
|
9571 when handling undefined names. |
|
9572 tree.cc (tree_identifier::parse_m_file (char*)): New function. |
|
9573 (tree_identifier::parse_m_file (void)): Use it. |
|
9574 |
|
9575 * utils.cc (force_global): New function. |
|
9576 * symtab.cc (symbol_table::remove_name(char *)): New function. |
|
9577 |
|
9578 * tree.h, tree.cc (class tree_constant): Split into two classes, |
|
9579 tree_constant (handle) and tree_constant_rep (body) to enable use |
|
9580 of `smart pointers' and reference counted memory management. |
|
9581 (Lots of things are different with this change.) |
|
9582 |
|
9583 Sat Aug 22 11:58:27 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9584 |
|
9585 * Version 0.38. |
|
9586 |
|
9587 * lex.l (COMMA_KLUDGE): Delete production, all uses. This doesn't |
|
9588 seem to be necessary anymore, and the mystery output lines |
|
9589 disappear without it. |
|
9590 |
|
9591 * builtins.cc (make_eternal (char *)): New function. |
|
9592 (install_builtins): Make LOADPATH, eps, pi, Inf, and NaN eternal. |
|
9593 |
|
9594 * New M-files: mean.m, std.m, hadamard.m, vander.m, hilb.m, |
|
9595 linspace.m, logspace.m. |
|
9596 |
|
9597 * tree.cc (tree_function::eval): Don't check number of arguments |
|
9598 supplied against total number possible (previously thought to be |
|
9599 `expected') so that user-defined functions can have variable |
|
9600 numbers of arguments. |
|
9601 |
|
9602 * tree.cc (tree_identifier::eval_undefined_error): New function. |
|
9603 (tree_identifier::eval): Use it. |
|
9604 |
|
9605 * octave.cc (abort_on_undefined): New global symbol to control |
|
9606 whether we should jump to top level after an undefined symbol has |
|
9607 been encountered. |
|
9608 tree.cc (tree_function::eval) Set it before evaluating function |
|
9609 body, restore to previous value after successful completion. |
|
9610 tree.cc (tree_identifier::eval_undefined_error): Use it |
|
9611 |
|
9612 Fri Aug 20 09:31:14 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9613 |
|
9614 * g-builtins.cc: New mapper functions: |
|
9615 isnan: Uses xisnan, which calls IEEE function isnan. |
|
9616 isinf: Uses xisinf which calls IEEE functions finite and isnan, |
|
9617 or isinf if available. |
|
9618 finite: Uses xfinite, which calls IEEE function finite. |
|
9619 abs: Uses fabs. |
|
9620 |
|
9621 * g-builtins.cc (sumsq): New function. |
|
9622 (diag): New function. |
|
9623 |
|
9624 * tree.cc (tree_constant::sumsq): New function |
|
9625 (tree_constant::diag): New function |
|
9626 |
|
9627 * Matrix.cc (sumsq): New function. |
|
9628 (diag): Ditto. |
|
9629 |
|
9630 Thu Aug 20 00:36:44 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9631 |
|
9632 * g-builtins.cc (builtin_error): New function. |
|
9633 |
|
9634 * gnuplot-build/Makefile.in (dist): Actually create `term' |
|
9635 subdirectory. |
|
9636 |
|
9637 * Lots of changes to tree.cc tree_assignment_expression::eval and |
|
9638 tree_index_expression::eval to make matrix indexing work like |
|
9639 Matlab. |
|
9640 (do_fortran_indexing): New user-level variable to control this |
|
9641 behavior. If this variable is false, things like |
|
9642 |
|
9643 a([1,2;3,4], [1,2;3,4]) = b |
|
9644 |
|
9645 become syntax errors. Otherwise, Matlab braindamage prevails. |
|
9646 |
|
9647 Tue Aug 18 13:15:46 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9648 |
|
9649 * Version 0.37. |
|
9650 |
|
9651 * tree.cc (do_matrix_assignment): Conditionally allow single |
|
9652 indices for Matrix assignments. |
|
9653 (do_matrix_index): Ditto. |
|
9654 |
|
9655 * utils.cc (do_fortran_indexing): New function. |
|
9656 utils.h: Declare it. |
|
9657 builtins.cc (install_builtins): Default value for new |
|
9658 do_fortran_indexing variable. |
|
9659 |
|
9660 * builtins.cc (install_builtins): Bind eps to the value |
|
9661 DBL_EPSILON from float.h. Make it read only (will this cause |
|
9662 trouble)? |
|
9663 * Bind Inf to 1/0 (will only work for IEEE machines. |
|
9664 * Bind NaN to 0/0 (will only work for IEEE machines. |
|
9665 * Add round, fix, floor, ceil, and sign to builtin mapper functions. |
|
9666 (round): New function. |
|
9667 (fix): Ditto. |
|
9668 (signum): Ditto. |
|
9669 * Add clc (clear screen function). |
|
9670 * Add home (clear screen function). To be just like Matlab, this |
|
9671 wouldn't clear the screen. |
|
9672 |
|
9673 * New M-files: fliplr.m, flipud.m, trace.m, reshape.m. |
|
9674 |
|
9675 * utils.cc (bind_variable): Revise bind_string_variable so that it |
|
9676 takes a tree_constant as an argument. |
|
9677 (bind_protected_variable): Likewise for the function |
|
9678 bind_protected_string_variable. |
|
9679 (bind_string_variable): Delete. |
|
9680 (bind_protected_string_variable): Ditto. |
|
9681 utils.h: Fix declarations. |
|
9682 builtins.cc t-builtins.cc: Fix callers. |
|
9683 |
|
9684 * builtins.cc (install_builtins): Bind LOADPATH here. |
|
9685 octave.cc (initialize_globals): Not here. |
|
9686 |
|
9687 * Makefile.in (SOURCES): Add new scripts directory. |
|
9688 (scripts): New target. |
|
9689 libcruft/Makefile.in (install): Don't depend on all. |
|
9690 |
|
9691 * utils.cc (m_file_in_path): Get path from LOADPATH variable. |
|
9692 tree.cc (tree_identifier::parse_m_file): Modify caller. |
|
9693 |
|
9694 * src/Makefile.in (OCTAVE_M_FILE_DIR): New variable. |
|
9695 (utils.o): Use it. |
|
9696 utils.cc (default_path): Use it. |
|
9697 |
|
9698 * utils.cc (pathstring_to_vector): New function. |
|
9699 (default_path): Return colon separated path instead of vector of |
|
9700 paths. |
|
9701 * octave.cc (initialize_globals): Use pathstring_to_vector here. |
|
9702 Bind output of default_path to LOADPATH variable. |
|
9703 Eliminate octave_path global variable. |
|
9704 |
|
9705 * tree.cc (isstr): New function. |
|
9706 (all): Ditto. |
|
9707 (any): Ditto. |
|
9708 (cumprod): Ditto. |
|
9709 (cumsum): Ditto. |
|
9710 (prod): Ditto. |
|
9711 (sum): Ditto. |
|
9712 |
|
9713 * g-builtins.cc (builtin_isstr): New function. |
|
9714 (builtin_all): Ditto. |
|
9715 (builtin_any): Ditto. |
|
9716 (builtin_cumprod): Ditto. |
|
9717 (builtin_cumsum): Ditto. |
|
9718 (builtin_prod): Ditto. |
|
9719 (builtin_sum): Ditto. |
|
9720 |
|
9721 * Matrix.cc (all): New function. |
|
9722 (any): Ditto. |
|
9723 (cumprod): Ditto. |
|
9724 (cumsum): Ditto. |
|
9725 (prod): Ditto. |
|
9726 (sum): Ditto. |
|
9727 |
|
9728 * scripts: New directory. |
|
9729 scripts/strcmp.m: New file (first M-file function in distribution!). |
|
9730 scripts/Makefile.in: New file. |
|
9731 configure.in: Include scripts/Makefile in list of files to create. |
|
9732 |
|
9733 Sat Aug 15 18:32:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9734 |
|
9735 * Version 0.36. |
|
9736 |
|
9737 Fri Aug 14 08:44:10 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9738 |
|
9739 * tree.cc (id_to_define): New global variable. |
|
9740 (curr_m_file_name): Ditto. |
|
9741 (current_infile): Ditto. |
|
9742 |
|
9743 * tree.h tree.cc (tree_identifier::parse_m_file): New function. |
|
9744 (tree_identifier::eval): Handle M-files. |
|
9745 |
|
9746 * tree.h (stash_m_file_name): New virtual function. |
|
9747 (stash_m_file_time): Ditto. |
|
9748 (time_parsed): Ditto. |
|
9749 (m_file_name): Ditto. |
|
9750 |
|
9751 * tree.h tree.cc (tree_function::stash_m_file_name) New function. |
|
9752 (tree_function::stash_m_file_time): Ditto. |
|
9753 (tree_function::time_parsed): Ditto. |
|
9754 (tree_function::m_file_name): Ditto. |
|
9755 |
|
9756 * lex.l (reading_m_file): New global variable. |
|
9757 (delete_buffer): New function. |
|
9758 (yywrap): New function. Always return 0 (is this a smart thing to |
|
9759 do?). |
|
9760 |
|
9761 * parse.y (func_def2): Handle input from m-files (sort of). |
|
9762 |
|
9763 * octave.cc (octave_path): New global variable. |
|
9764 (using_readline): Ditto. |
|
9765 (no_line_editing): Ditto. |
|
9766 |
|
9767 * octave.cc (main): Initialize current_command_number before |
|
9768 calling setjmp. |
|
9769 * Increment it in main command loop, not in parse.y. |
|
9770 |
|
9771 * utils.h utils.cc (default_path): New function. |
|
9772 (m_file_in_path): Ditto. |
|
9773 (is_newer): Ditto. |
|
9774 |
|
9775 * octave.cc (main): Execute commands here. |
|
9776 * parse.y (input): Not here. |
|
9777 |
|
9778 * octave.cc (tree *global_command): New global variable that |
|
9779 points to the current command to be executed. |
|
9780 |
|
9781 Thu Aug 13 07:08:11 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9782 |
|
9783 * parse.y: Make word_list_cmd a fact, not a command, so that |
|
9784 things like `y = who -all' can work. You can't do that in Matlab. |
|
9785 |
|
9786 * t-builtins.cc (builtin_who): Print symbols in columns, sorted. |
|
9787 (list_in_columns) New function, mostly stolen from GNU ls. |
|
9788 |
|
9789 * symtab.h symtab.cc (char **list (void)) New function. |
|
9790 (char **sorted_list (void) New function. |
|
9791 |
|
9792 * tree.cc (various eval functions): Handle printing results of |
|
9793 text and general functions here. Straighten out other printing |
|
9794 stuff, maybe... |
|
9795 |
|
9796 * t-builtins.h t-builtins.cc: Make text functions return |
|
9797 tree_constant* instead of int, delete print flag argument. |
|
9798 |
|
9799 * g-builtins.h g-builtins.cc: Delete print flag argument. |
|
9800 |
|
9801 * Version 0.35. |
|
9802 |
|
9803 Wed Aug 12 15:12:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9804 |
|
9805 * tree.cc (tree_builtin::eval): Call mapper function with |
|
9806 print = 0 to avoid getting two answers. |
|
9807 (specific do_matrix_assignment functions): Handle resizing |
|
9808 correctly for `:' indices. |
|
9809 (tree_colon_expression::eval): Don't crash if the evaluation of |
|
9810 an operand yields a NULL_TREE_CONST. |
|
9811 |
|
9812 Mon Aug 10 07:31:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9813 |
|
9814 * tree.cc (tree_identifier::define): Return NULL_TREE_CONST if |
|
9815 symbol_record::define fails. |
|
9816 (tree_identifier::assign): Likewise. |
|
9817 |
|
9818 * symtab.h (symbol_lifetime): New attribute for symbol_records. |
|
9819 Can be either temporary or eternal. |
|
9820 (symbol_class): Delete eternal attribute. |
|
9821 * builtins.cc (install_builtins): Mark all builtins as eternal. |
|
9822 |
|
9823 * Version 0.34. |
|
9824 |
|
9825 * tree.h: Delete ttype, enum list of tree types. |
|
9826 |
|
9827 * g-builtins.h g-builtins.cc (builtin_colloc): New function. |
|
9828 |
|
9829 * liboctave (various): Add missing return values, etc. so that |
|
9830 liboctave compiles cleanly. |
|
9831 |
|
9832 * tree.h tree.cc (tree_multi_assignment): New class to implement |
|
9833 assignments to more than one variable. Does it work? Maybe... |
|
9834 |
|
9835 * tree.h (tree_constant **eval (int, int)): New virtual function. |
|
9836 (is_identifier): Another one. |
|
9837 |
|
9838 * symtab.h (eternal): New class for symbol_records. |
|
9839 * symtab.h symtab.cc (make_eternal): New function. |
|
9840 * builtins.cc (install_builtins): Make builtin variables eternal. |
|
9841 |
|
9842 * tree.cc (list_to_vector): Surround by `#if 0/#endif' to avoid |
|
9843 compilation warning. |
|
9844 |
|
9845 Sun Aug 9 03:18:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9846 |
|
9847 * t-builtins.h t-builtins.cc (builtin_cd): New function adapted |
|
9848 from bash for changing the current working directory. |
|
9849 (builtin_pwd): New function adapted from bash for printing the |
|
9850 current working directory. |
|
9851 |
|
9852 * utils.h utils.cc: New functions from bash for changing and |
|
9853 printing the current working directory: |
|
9854 |
|
9855 pathname_backup make_absolute |
|
9856 get_working_directory change_to_directory |
|
9857 |
|
9858 * utils.h utils.cc (bind_string_variable): New function. |
|
9859 (bind_protected_string_variable): Likewise. |
|
9860 |
|
9861 * octave.cc (initialze_globals): New function. |
|
9862 |
|
9863 * utils.h utils.cc: New functions from bash, mostly for fancy |
|
9864 prompting: |
|
9865 |
|
9866 polite_directory_format absolute_pathname |
|
9867 absolute_program base_pathname |
|
9868 read_octal sub_append_string |
|
9869 decode_prompt_string |
|
9870 |
|
9871 Thu Aug 6 02:39:31 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9872 |
|
9873 * octave.cc (initialize_history): Fix up to |
|
9874 (octave_hist_file) New global variable. |
|
9875 (octave_hist_size) Ditto. |
|
9876 (history_lines_this_session) Ditto. |
|
9877 (history_lines_in_file) Ditto. |
|
9878 |
|
9879 * input.cc (octave_gets): Keep track of number of lines read |
|
9880 during the current session. |
|
9881 |
|
9882 * utils.cc (default_history_file): New function. Look for |
|
9883 OCTAVE_HISTFILE environment variable and use its value if |
|
9884 possible. |
|
9885 (default_history_size): New function. Look for OCTAVE_HISTSIZE |
|
9886 environment variable and use its value if possible. |
|
9887 |
|
9888 * t-builtins.cc (builtin_history): Steal from bash and modify to |
|
9889 work with octave. |
|
9890 |
|
9891 * g-builtins.cc (builtin_det): New function. |
|
9892 |
|
9893 * tree.h tree.cc (determinant): New function |
|
9894 |
|
9895 * g-builtins.cc: Rewrite functions that use fill_matrix, inverse, |
|
9896 and identity_matrix to use new versions implemented as friends of |
|
9897 tree_constant. This is being done in an attempt to get rid of all |
|
9898 calls to tree_constant::const_type() outside of tree.cc. |
|
9899 |
|
9900 * tree.cc (tree_constant): Implement new functions for filling |
|
9901 and inverting tree constants as matrices, and for creating an |
|
9902 identity matrix from a tree_constant. |
|
9903 |
|
9904 * g-builtins.cc (builtin_inv): New function. |
|
9905 builtins.cc: Allow builtin_inv to be called as either inv(A) or |
|
9906 inverse(A). |
|
9907 |
|
9908 * tree.cc (do_binary_op (Matrix, Matrix)): Better handling of |
|
9909 solution of linear equations for square coefficient matrices. |
|
9910 |
|
9911 * LinEqn.cc (solve): Don't exit on singular matrices. Implement |
|
9912 new variations of these functions that will allow status checking. |
|
9913 |
|
9914 * src/Makefile.in: Define GNUPLOT_BINARY and SITE_DEFAULTS. |
|
9915 Specific rules for octave.o and builtins.o to avoid defining |
|
9916 GNUPLOT_BINARY and SITE_DEFAULTS for all .cc targets. |
|
9917 |
|
9918 * builtins.cc: Use macro GNUPLOT_BINARY. |
|
9919 |
|
9920 * octave.cc (execute_startup_files): Use macro SITE_DEFAULTS. |
|
9921 Execute commands from SITE_DEFAULTS file. |
|
9922 |
|
9923 * t-buitlins.cc (builtin_pause): Make it work. |
|
9924 |
|
9925 * configure.in: Check for termio.h and/or sgtty.h. |
|
9926 |
|
9927 * octave.cc (clean_up): Reset terminal state to cooked mode. |
|
9928 (main) Likewise, after return from SIGINT signal handler. |
|
9929 |
|
9930 * utils.h utils.cc (raw_mode): New function (mostly stolen from |
|
9931 less(1)) toggle input processing for stdin to raw/cooked modes. |
|
9932 (kbhit): New function to read one character from cin in raw mode |
|
9933 without echoing it. |
|
9934 |
|
9935 * builtins.cc: Fix expected number of arguments in lists of |
|
9936 builtins. |
|
9937 |
|
9938 * tree.h tree.cc (max_args_expected (void)): New virtual function. |
|
9939 (tree_builtins::) Provide a definition of it. |
|
9940 |
|
9941 * lex.l (identifier): Before gobbling up text function arguments, |
|
9942 check to see that we expect some. |
|
9943 |
|
9944 * symtab.h symtab.cc (max_args_expected): Return max args expected |
|
9945 by a symbol (currently only valid for tree_builtins). |
|
9946 |
|
9947 Wed Aug 5 05:03:59 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9948 |
|
9949 * utils.h utils.cc (resize_on_range_error): Decide what to return |
|
9950 based on value of global variable of same name. |
|
9951 (prefer_column_vectors): Likewise. |
|
9952 |
|
9953 * Version 0.33. |
|
9954 |
|
9955 * parse.y (func_def2): Call define (tree *, symbol_type), not |
|
9956 define (tree *), so that the symbol type is set for user-defined |
|
9957 functions. |
|
9958 (assignment): Catch assignments to functions here. |
|
9959 |
|
9960 * tree.h tree.cc (tree_identifier::define (tree *, symbol_type): |
|
9961 New function (be careful out there...). |
|
9962 |
|
9963 * symtab.h (symbol_type): Add new `user_function' enum value. |
|
9964 |
|
9965 * tree.cc (do_matrix_assignment): Call prefer_column_vectors(). |
|
9966 |
|
9967 * tree.h tree.cc (do_matrix_assignment (...)): New functions to |
|
9968 implement assignment to indexed matrices. |
|
9969 (do_scalar_assignment (...)): New function to implement assignment |
|
9970 to an indexed scalar. |
|
9971 |
|
9972 * utils.h utils.cc (resize_on_range_error): New function. Should |
|
9973 eventually decide what to return based on value of global variable |
|
9974 of same name. |
|
9975 (prefer_column_vectors): New function. |
|
9976 |
|
9977 Tue Aug 4 05:37:47 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9978 |
|
9979 * tree.cc (tree_constant::save): New function. |
|
9980 (tree_constant::load): New function. |
|
9981 |
|
9982 * symtab.cc (symbol_record::save): New function. |
|
9983 (symbol_table::load): New function. |
|
9984 |
|
9985 * t-builtins.cc (builtin_load): Start implementation. Yikes, this |
|
9986 is probably going to need a lot of work to be very robust... |
|
9987 |
|
9988 * t-builtins.cc (builtin_save): Implement by asking the |
|
9989 symbol_record to save itself. Maybe this should really be done by |
|
9990 asking the symbol table to save a symbol... |
|
9991 |
|
9992 * utils.cc (extract_keyword): New function. |
|
9993 (valid_identifier): New function. |
|
9994 |
|
9995 Fri Jul 31 04:16:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
9996 |
|
9997 * parse.y (func_def3): Extra error cases for empty function |
|
9998 bodies. |
|
9999 (func_def1, func_def1a, func_def1b): Slighly straighten out some |
|
10000 truly twisted logic, eliminate func_def1a, rename func_def1b to |
|
10001 func_def1a, and make statementss like function [x,y] = foo() end |
|
10002 work properly (I think). |
|
10003 (func_def*): Put function name in global symbol table, not top |
|
10004 level symbold table. This makes them accessible from other |
|
10005 functions, eh? |
|
10006 |
|
10007 * t-builtins.cc (builtin_who): Accept -all, -local, -global, and |
|
10008 -top flags. |
|
10009 |
|
10010 Thu Jul 30 00:39:40 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10011 |
|
10012 * lex.l (current_buffer): New function to return current flex |
|
10013 input buffer. Will need this to be able to switch file contexts. |
|
10014 |
|
10015 * Version 0.32. |
|
10016 |
|
10017 * lex.l (create_buffer, switch_to_buffer): New functions to handle |
|
10018 input from various streams. This should be enough to allow us to |
|
10019 implement Matlab-like M-files. |
|
10020 octave.cc (main, execute_startup_files): Use them. |
|
10021 |
|
10022 * octave.cc (execute_startup_files): Execute commands from |
|
10023 $HOME/.octaverc and ./.octaverc. |
|
10024 |
|
10025 * g-builtins.cc (builtin_plot): Delete temporary files. |
|
10026 Ignore SIGINT while gnuplot is executing. |
|
10027 |
|
10028 Wed Jul 29 20:16:25 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10029 |
|
10030 * tree.cc (all_args_defined): New function to check a |
|
10031 tree_constant** vector to see if all elements are non-null. |
|
10032 (tree_index_expression::eval (int)): Use it, and abort the |
|
10033 evaluation if test fails. |
|
10034 |
|
10035 * terminals.h, terminals.cc: New files for doing things with |
|
10036 gnuplot graphics terminal names. |
|
10037 src/Makefile.in: Handle new files. |
|
10038 |
|
10039 Tue Jul 28 00:25:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10040 |
|
10041 * g-builtins.cc (builtin_plot): Make it work, at least halfway. |
|
10042 |
|
10043 * g-builtins.cc (builtin_save): New function. |
|
10044 |
|
10045 * gnuplot-build/Makefile.in: Add -DREADLINE and remove readline.o |
|
10046 from list of objects to actually enable the GNU command line |
|
10047 editing. |
|
10048 |
|
10049 * configure.in: Use AC_PROG_CHECK macro to search for f2c and f77. |
|
10050 Check for several common Un*x Fortran compilers. |
|
10051 Add extra messages. |
|
10052 |
|
10053 * g-builtins.cc g-builtins.h: New files for builtin general |
|
10054 functions extracted from builtins.cc. |
|
10055 |
|
10056 * t-builtins.cc t-builtins.h: New files for builtin text functions |
|
10057 extracted from builtins.cc. |
|
10058 |
|
10059 * Makefile.in (split-dist): New target. |
|
10060 |
|
10061 * Version 0.31. |
|
10062 |
|
10063 Mon Jul 27 22:01:58 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10064 |
|
10065 * tree.cc (tree_constant::do_matrix_index (tree_constant **, int): |
|
10066 Allow single argument to work for matrices that are really row or |
|
10067 column vectors. |
|
10068 |
|
10069 * lex.l: Accept `<>' in addition to `!=' and `~=' as `not equal' |
|
10070 comparison operators. |
|
10071 |
|
10072 * libcruft/Makerules: Allow for compiling the Fortran routines |
|
10073 with the native Fortran compiler instead of translating to C. |
|
10074 |
|
10075 * f2c-compat.sh, flibs.sh: New scripts which try to determine |
|
10076 whether it will be possible for us to use the system's Fortran |
|
10077 compiler directly, and if so, what libraries to add to the loader |
|
10078 command. These scripts are known to work on SPARCstations running |
|
10079 SunOS and DECstations running Ultrix. Not tested elsewhere... |
|
10080 * configure.in: Use them. |
|
10081 * Makefile.in: Distribute them. |
|
10082 |
|
10083 Wed Jul 22 00:04:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10084 |
|
10085 * builtins.cc: Begin implementation of NLP solver using NPSOL. |
|
10086 |
|
10087 Tue Jul 21 13:44:13 1992 John W. Eaton (jwe@june.che.utexas.edu) |
|
10088 |
|
10089 * octave.cc: If printing version information, also print pointer |
|
10090 to warranty info. |
|
10091 |
|
10092 * builtins.cc: Implement the Matlab functions ones, zeros, eye, |
|
10093 clock, date, size, length, and global. |
|
10094 Implement warranty builtin. |
|
10095 (builtin_clear): Fix to work with global variables. |
|
10096 |
|
10097 * symtab.cc (clear): Fix to work properly with global variables. |
|
10098 |
|
10099 Mon Jul 20 11:58:23 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10100 |
|
10101 * tree.cc (tree_constant::do_matrix_index (tree_constant**, int)): |
|
10102 Make string indices work. |
|
10103 (tree_constant::force_numeric): Don't special case |
|
10104 single-character strings (this uncovers a flaw in the design of |
|
10105 the constructor for the magic colon operator...). |
|
10106 |
|
10107 Fri Jul 17 16:33:00 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10108 |
|
10109 * Version 0.30. |
|
10110 |
|
10111 * tree.cc: Delete undefined identifiers when trying to eval them. |
|
10112 |
|
10113 * builtins.cc: Add beginnings of builtin who and clear functions. |
|
10114 |
|
10115 * symtab.cc symtab.h (clear): New function. |
|
10116 |
|
10117 * tree.cc, tree.h, parse.y: Implement matrix indexing with colon |
|
10118 expressions, implement the magic colon operator for column and row |
|
10119 selection. |
|
10120 |
|
10121 * tree.cc tree.h: Completely rework colon expressions. |
|
10122 |
|
10123 Thu Jul 16 09:27:48 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10124 |
|
10125 * gnuplot-dist: Rename from gnuplot-3.2 so we're not tied to a |
|
10126 version number. |
|
10127 |
|
10128 Tue Jul 14 11:22:35 1992 John W. Eaton (jwe@ward.che.utexas.edu) |
|
10129 |
|
10130 * tree.cc builtins.cc: Make argc/nargs/nargin work like C: |
|
10131 the argument count is the number of command line arguments plus |
|
10132 the function name. This goes for `argument lists' for matrices as |
|
10133 well as functions. It seems a bit awkward but at it's consistent, |
|
10134 and it's like C. Hmm. Maybe this is a bad choice... |
|
10135 |
|
10136 * utils.cc utils.h: New files for utility functions. |
|
10137 |
|
10138 Mon Jul 13 00:29:50 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10139 |
|
10140 * Version 0.29. |
|
10141 |
|
10142 * tree.cc tree_constant::tree_constant (matrix): Automatically |
|
10143 convert 1x1 matrices to scalars. |
|
10144 |
|
10145 * parse.y lex.l: Fix up a bunch of stupid stuff and reduce the |
|
10146 number of shift/reduce conflicts to 16 (all but one because of the |
|
10147 optional separator garbage). |
|
10148 |
|
10149 * parse.y lex.l: Allow for assignments to lists of identifiers to |
|
10150 be partially parsed. This will still require some error checking |
|
10151 in tree.cc to ensure that the list is made up of identifiers only, |
|
10152 since that's not enforced by the grammar (I don't see a way to do |
|
10153 it, do you?) |
|
10154 |
|
10155 Sun Jul 12 11:24:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10156 |
|
10157 * tree.cc tree.h parse.y lex.l: Implement logical AND (symbol &), |
|
10158 OR (symbol |), and not (symbol ~). Also provide the C-style |
|
10159 operators &&, ||, and !). |
|
10160 |
|
10161 * Matrix.cc Matrix.h: Provide stupid element-wise logical |
|
10162 operators for matrices. |
|
10163 |
|
10164 * Version 0.28. |
|
10165 |
|
10166 * parse.y lex.l tree.cc tree.h: Implement C-style prefix and |
|
10167 postfix increment and decrement operators (symbols ++ and -- |
|
10168 respectively). |
|
10169 |
|
10170 * parse.y lex.l tree.cc tree.h: Implement break and continue. |
|
10171 |
|
10172 * tree.cc tree.h: Assignment to matrix elements roughed out. |
|
10173 |
|
10174 * gnuplot/tree.cc: Solution of linear equations via the lift |
|
10175 division operator partially implemented. Singular coefficient |
|
10176 matrices aren't handled very well yet... |
|
10177 |
|
10178 * gnuplot-build/Makefile.in: Make this work to build gnuplot for |
|
10179 generic X11/unix environments. |
|
10180 * Remove -Wall from CFLAGS to avoid loads of warnings. |
|
10181 * Use GNU readline instead of the one that comes with gnuplot. |
|
10182 |
|
10183 * gnuplot-build/*.diff: Various patches for various things. |
|
10184 |
|
10185 Sat Jul 11 10:14:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10186 |
|
10187 * Version 0.26 |
|
10188 |
|
10189 * src/Makefile.in: Distribute lex.cc, parse.cc, y.tab.h. |
|
10190 * src/Makefile.in (dist): Depend on lex.cc and parse.cc. |
|
10191 |
|
10192 * gnuplot-build: New directory for patching and building gnuplot. |
|
10193 This is apparenty required because the gnuplot license won't allow |
|
10194 distrubution of modified versions, but will allow patches to be |
|
10195 distributed. |
|
10196 * gnuplot-build/Makefile.in: New file. |
|
10197 |
|
10198 * gnuplot-3.2: New directory. |
|
10199 |
|
10200 * readline: New directory from the bash-1.12 distribution, plus |
|
10201 tilde.c from bash's lib/glob directory and xmalloc.c from bash's |
|
10202 lib/malloc directory. |
|
10203 * readline/Makefile.in, readline/doc/Makefile.in, |
|
10204 readline/examples/Makefile.in: New files. |
|
10205 |
|
10206 * All Makefie.in files: Allow make to work from any directory, not |
|
10207 just the top level one. |
|
10208 |
|
10209 Fri Jul 10 22:20:56 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10210 |
|
10211 * SERVICE: Remove, since it seems too specific to GNU products. |
|
10212 |
|
10213 Thu Jul 9 07:48:33 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10214 |
|
10215 * Version 0.20. |
|
10216 |
|
10217 * Solution of ODEs with LSODE partially implemented. It's |
|
10218 possible to solve some simple equations. |
|
10219 |
|
10220 * tree.cc tree.h (tree_constant): Add string constants and make |
|
10221 them work more or less like string constants in Matlab (implicit |
|
10222 conversion to ASCII numbers -- gag. This isn't complete, and it |
|
10223 it assumes that ASCII is the character set for the host |
|
10224 machine/compiler...). |
|
10225 |
|
10226 Tue Jul 7 07:28:35 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10227 |
|
10228 * Version 0.19. |
|
10229 |
|
10230 * User defined function definitions and calls to them mostly work. |
|
10231 Still need to implement multiple return values correctly. |
|
10232 |
|
10233 Mon Jul 6 04:23:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10234 |
|
10235 * Version 0.18. |
|
10236 |
|
10237 * lex.l parse.y tree.cc tree.h: Begin implementation of |
|
10238 user-defined functions. |
|
10239 |
|
10240 Sun Jul 5 19:27:08 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10241 |
|
10242 * Version 0.17. |
|
10243 |
|
10244 * lex.l: Replace SAVE_STRING macro with a function. |
|
10245 |
|
10246 * builtins.cc (builtin_document): New builtin function. |
|
10247 (builtin_help): Make it work. |
|
10248 |
|
10249 * lex.l: More rules for gathering text. These are still not quite |
|
10250 as they should be, but they will work in most cases. I think the |
|
10251 flex generated scanner is either going to have to be reworked or |
|
10252 replaced with a handemade version at some point (probably soon)... |
|
10253 |
|
10254 * tree.cc tree.h: Add tree_word_list and tree_word_list_command |
|
10255 classes for text functions. |
|
10256 |
|
10257 Fri Jul 3 05:13:15 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10258 |
|
10259 * Version 0.16. |
|
10260 |
|
10261 * builtins.h builtins.cc: New files for builtin functions. |
|
10262 Implement a few simple builtin functions. |
|
10263 |
|
10264 * tree.cc tree.h: Add tree_builtin type for builtin functions. |
|
10265 |
|
10266 * tree.cc tree.h: eval (args...) New virtual function. |
|
10267 |
|
10268 Thu Jul 2 01:27:38 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10269 |
|
10270 * Version 0.15. |
|
10271 |
|
10272 * symtab.h, symtab.cc: Allow variables and functions to be tagged |
|
10273 as read-only or read-write. |
|
10274 |
|
10275 Wed Jul 1 15:54:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10276 |
|
10277 * input.cc and octave.cc: allow input to come from a file. |
|
10278 |
|
10279 * lex.l: to accept `#' as a comment character (allows one to |
|
10280 use the `#!/bin/octave' style script hack). |
|
10281 |
|
10282 * doc: New directory containing skeleton stuff |
|
10283 * SERVICE: New file from GCC. |
|
10284 * BUGS: New file, now produced from doc/bugs.texi. |
|
10285 * INSTALL: New file, now produced from doc/install.texi. |
|
10286 |
|
10287 Sat Jun 27 15:52:37 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10288 |
|
10289 * Version 0.14. |
|
10290 |
|
10291 * Fixed parser to eliminate reduce/reduce conflicts. |
|
10292 |
|
10293 * Fixed parser to recognize assignment to multiple identifiers |
|
10294 (e.g., [E,V] = eig (A); ). |
|
10295 |
|
10296 * Quickie implementation of indexed array evaluation. Works for |
|
10297 scalar indices, but not range/array indices. |
|
10298 |
|
10299 Fri Jun 26 04:23:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10300 |
|
10301 * Version 0.12. |
|
10302 |
|
10303 * Hooks added for indexed array evaluation and assignment. |
|
10304 * Colon expression implementation improved. |
|
10305 * Implementation of for command eval() improved. |
|
10306 |
|
10307 Thu Jun 25 00:28:12 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10308 |
|
10309 * Version 0.11. |
|
10310 |
|
10311 * Colon expressions added. |
|
10312 * For command added, but the implementation needs work. |
|
10313 |
|
10314 Wed Jun 24 15:09:36 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10315 |
|
10316 * Version 0.10. |
|
10317 |
|
10318 * Cheesy signal handler added to catch interrupts. |
|
10319 |
|
10320 * Matrix input works, even for nested matrices. Some error |
|
10321 checking is done while the matrix is evaluated to ensure that |
|
10322 the number of rows and columns match up. |
|
10323 |
|
10324 Mon Jun 22 00:21:49 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10325 |
|
10326 * Version 0.9. |
|
10327 |
|
10328 * Command line matrix input partially implemented. It's not yet |
|
10329 possible to enter nested matrices, but it is possible to enter |
|
10330 simple matrices (e.g. [1,2;a,b+c], where a, b, and c are scalars. |
|
10331 |
|
10332 * Version 0.8. |
|
10333 |
|
10334 * If commands added. |
|
10335 |
|
10336 * Version 0.7. |
|
10337 |
|
10338 * Command chains added. |
|
10339 * Boolean operations added, tested for scalars. |
|
10340 * While loop added, tested for simple commands. |
|
10341 |
|
10342 Fri Jun 19 05:50:44 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10343 |
|
10344 * Version 0.6. |
|
10345 |
|
10346 At this early stage, while a lot of changes are being made very |
|
10347 quickly, ChangeLog entries will probably just list features added. |
|
10348 |
|
10349 * Variable assignment works for scalars. |
|
10350 * Simple scalar expressions work. |
|
10351 |
|
10352 Thu Jun 18 06:44:24 1992 John W. Eaton (jwe@schoch.che.utexas.edu) |
|
10353 |
|
10354 * Version 0.5. |
|
10355 |
|
10356 * src/version.h: For all the pre-alpha distributions, count |
|
10357 versions as 0.1, etc. instead of 0.01. |
|
10358 |
|
10359 * Makefile: (dist) Automatically update version_string in |
|
10360 src/version.h. |
|
10361 |
|
10362 * symtab.h, symbtab.cc: New files for symbol tables. |
|
10363 |
|
10364 * tree.h, tree.cc: New files for parse trees. |
|
10365 |
|
10366 * Lots of work unrecorded here. Octave is now self-contained, the |
|
10367 tree routines are being redesigned, etc. |
|
10368 |
|
10369 Fri Mar 20 17:03:16 1992 John W. Eaton (jwe@andy.che.utexas.edu) |
|
10370 |
|
10371 * Version 0.02. Octave understands some simple matrix |
|
10372 expressions, but it is not yet possible for matrix elements to |
|
10373 be constructed from expressions. |
|
10374 |
|
10375 Thu Mar 19 06:13:39 1992 John W. Eaton (jwe@andy.che.utexas.edu) |
|
10376 |
|
10377 * Version 0.01. Octave understands simple scalar expressions. |
|
10378 Hey, Hey! It is not yet self contained -- I'm still linking to |
|
10379 the old libraries in /usr/local/c++-classes, and this isn't likely |
|
10380 to change for a while. (Other things are much more important than |
|
10381 making the distribution work on other machines. Sorry...) |
|
10382 |
|
10383 Fri Feb 21 05:06:38 1992 John W. Eaton (jwe@andy.che.utexas.edu) |
|
10384 |
|
10385 * Version 0.00. This includes the basic directory structure, |
|
10386 makefiles, and a lot of the old Fortran source, including a way to |
|
10387 make a libcruft.a. Octave compiles and accepts input (with |
|
10388 history and editing) but doesn't do much else. |
|
10389 |
|
10390 Wed Feb 19 06:20:44 1992 John W. Eaton (jwe@andy.che.utexas.edu) |
|
10391 |
|
10392 * ChangeLog: New file. |