Mercurial > hg > octave-nkf
changeset 2663:00b2eff19bf5
[project @ 1997-02-08 21:58:49 by jwe]
author | jwe |
---|---|
date | Sat, 08 Feb 1997 22:00:24 +0000 |
parents | be083921a2d4 |
children | 9ccca1037db3 |
files | README.Linux liboctave/Array2-idx.h liboctave/ChangeLog liboctave/idx-vector.h scripts/ChangeLog scripts/specfun/erfinv.m src/ChangeLog src/oct-stream.cc |
diffstat | 8 files changed, 52 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/README.Linux +++ b/README.Linux @@ -47,6 +47,13 @@ above work for me. Other version combinations may also work, but I don't have time to map out all the possibilities... +Craig Earls <cpearls@ziplink.net> reports that the order of installing +libc and lig++ is important. If libg++ is installed *first*, Octave +will work, but if the libraries are installed in the reverse orfer, +Octave fails. The conflict apparently arises because libc and libg++ +shared libraries both use libio, however no one seems to be able to +provide a clear explanation of exactly what is happening. + Octave won't even compile ------------------------- @@ -58,7 +65,7 @@ bash$ cat foo.cc #include <iostream.h> -int main (void} { cerr << "yo\n"; return 0; } +int main (void) { cerr << "yo\n"; return 0; } bash$ g++ -v foo.cc gcc -v foo.cc -lg++ -lstdc++ -lm
--- a/liboctave/Array2-idx.h +++ b/liboctave/Array2-idx.h @@ -163,21 +163,27 @@ if (idx_i && idx_j) { - if (n == 0) + if (idx_i.orig_empty () || idx_j.orig_empty ()) { - if (m == 0 || idx_j.is_colon_equiv (nc, 1)) + retval.resize (n, m); + } + else if (n == 0) + { + if (m = 0) retval.resize (0, 0); + else if (idx_j.is_colon_equiv (nc, 1)) + retval.resize (0, nc); else - (*current_liboctave_error_handler) - ("invalid row index = 0"); + (*current_liboctave_error_handler) ("invalid row index = 0"); } else if (m == 0) { - if (n == 0 || idx_i.is_colon_equiv (nr, 1)) + if (n == 0) retval.resize (0, 0); + else if (idx_i.is_colon_equiv (nr, 1)) + retval.resize (nr, 0); else - (*current_liboctave_error_handler) - ("invalid column index = 0"); + (*current_liboctave_error_handler) ("invalid column index = 0"); } else if (idx_i.is_colon_equiv (nr) && idx_j.is_colon_equiv (nc)) {
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,11 @@ +Fri Feb 7 13:15:55 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * idx-vector.h (idx_vector::orig_empty): New function. + + * Array2-idx.h (Array2<T>::index (idx_vector&, idx_vector&)): + Don't always resize to [](0x0) if one of the indices is empty or + zero. + Sun Feb 2 22:33:44 1997 John W. Eaton <jwe@bevo.che.wisc.edu> * cmd-hist.cc (command_history::read): New arg, must_exist.
--- a/liboctave/idx-vector.h +++ b/liboctave/idx-vector.h @@ -217,6 +217,12 @@ int orig_rows (void) const { return rep->orig_rows (); } int orig_columns (void) const { return rep->orig_columns (); } + int orig_empty (void) const + { + return (! is_colon () + && (orig_rows () == 0 || orig_columns () == 0)); + } + // Unsafe. Avoid at all cost. void shorten (int n) { rep->shorten (n); }
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +Fri Feb 7 12:55:55 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * specfun/erfinv.m: Fix typo in last change. + Fri Jan 31 09:30:16 1997 John W. Eaton <jwe@bevo.che.wisc.edu> * image/loadimage.m: Make it possible to load files with image
--- a/scripts/specfun/erfinv.m +++ b/scripts/specfun/erfinv.m @@ -38,7 +38,7 @@ endif t = find (x == -1); - y (tmp) = (-Inf) * ones (size (t)); + y (t) = (-Inf) * ones (size (t)); t = find (x == 1); y (t) = Inf * ones (size (t));
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +Wed Feb 5 14:30:44 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * oct-stream.cc (scanf_format_list::process_conversion): Accept + but don't actually use h, l, and L modifiers. Always insert l + modifier for floating point conversions. + Fri Jan 31 13:55:10 1997 John W. Eaton <jwe@bevo.che.wisc.edu> * pager.cc (do_sync): Always flush the cout stream after writing.
--- a/src/oct-stream.cc +++ b/src/oct-stream.cc @@ -294,13 +294,11 @@ break; case 'h': case 'l': case 'L': + // We accept these but we don't actually use them. if (modifier != '\0') nconv = -1; else - { - modifier = s[i]; - *buf << s[i++]; - } + modifier = s[i++]; break; case 'd': case 'i': case 'o': case 'u': case 'x': @@ -317,6 +315,10 @@ nconv = -1; break; } + + // No float or long double conversions, thanks. + *buf << 'l'; + goto fini; case 'c': case 's': case 'p': case '%': case '[':