Mercurial > hg > octave-lyh
changeset 3238:041ea33fbbf4
[project @ 1999-03-26 17:48:16 by jwe]
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Feb 3 01:02:37 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * configure.in: Use AC_OUTPUT_COMMANDS to chmod install-octave so + that the command will also executed in config.status. + Thu Jan 28 21:05:32 1999 John W. Eaton <jwe@bevo.che.wisc.edu> * Makeconf.in (do-subst-config-vals): Do substitution on
--- a/configure.in +++ b/configure.in @@ -21,7 +21,7 @@ ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA ### 02111-1307, USA. -AC_REVISION($Revision: 1.315 $) +AC_REVISION($Revision: 1.316 $) AC_PREREQ(2.9) AC_INIT(src/octave.cc) AC_CONFIG_HEADER(config.h) @@ -1176,7 +1176,7 @@ libcruft/slatec-fn/Makefile libcruft/slatec-err/Makefile \ libcruft/villad/Makefile) -chmod 755 install-octave +AC_OUTPUT_COMMANDS([chmod +x install-octave]) ### Print a summary so that important information isn't missed.
--- a/doc/interpreter/dir +++ b/doc/interpreter/dir @@ -9,4 +9,6 @@ gives a primer for first-timers, "mItem<Return>" visits the menu item named `Item', etc. +* Menu: The list of major topics begins on the next line. + * Octave: (octave). Interactive language for numerical computations.
--- a/doc/interpreter/struct.texi +++ b/doc/interpreter/struct.texi @@ -137,7 +137,7 @@ @example @group -octave:2> f (rand (3) + rand (3) * I); +octave:2> f (rand (2) + rand (2) * I); ans = @{ im =
--- a/libcruft/ChangeLog +++ b/libcruft/ChangeLog @@ -1,3 +1,9 @@ +Fri Mar 26 01:19:04 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Makerules.in (all): Don't try to use a special rule for making + the archive. The default rules may be slower, but they are also + correct. + Wed Nov 11 17:27:35 1998 John W. Eaton <jwe@bevo.che.wisc.edu> * Makefile.in (CRUFT_DIRS): Add amos. Delete specfun.
--- a/libcruft/Makerules.in +++ b/libcruft/Makerules.in @@ -29,32 +29,17 @@ LIBCRUFT := ../libcruft.$(LIBEXT) -ifeq ($(STATIC_LIBS), true) - LIBCRUFT_DEPEND := $(LIBCRUFT) -endif - LIBCRUFT_OBJS = $(CRUFT_OBJ) $(SPECIAL_DEPEND) LIBCRUFT_DEPS = $(LIBCRUFT)($(LIBCRUFT_OBJS)) +ifeq ($(STATIC_LIBS), true) + LIBCRUFT_DEPEND := $(LIBCRUFT_DEPS) +endif + all: pic $(LIBCRUFT_DEPEND) $(CRUFT_PICOBJ) $(SPECIAL_PICDEPEND) .PHONY: all -# Cancel the default action for when an archive member is out of -# date. Instead of inserting the out of date members individually, we -# will insert them in batches, even if some of them are up to date. -# This is much faster for a large archive like libcruft.a. - -(%) : % - @true - -$(LIBCRUFT): $(LIBCRUFT_DEPS) - $(AR) $(ARFLAGS) $@ $^ - $(RANLIB) $@ - -# This is necessary, otherwise we won't have any .o files left when it -# comes time to insert them in the archive. - .PRECIOUS: $(LIBCRUFT_OBJS) pic:
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,18 @@ +Fri Mar 26 11:26:32 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Makefile.in (libraries): Use the libfoo.a(objects) method of + creating static libs. + +Thu Mar 4 02:17:04 1999 James Macnicol <jamesm@evans.ee.adfa.oz.au> + + * data-conv.cc (oct_data_conv::string_to_data_type): Handle uint16 + and uint32 data types. + +Thu Mar 4 01:51:37 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * lo-ieee.cc (octave_ieee_init): Don't use __alpha__-specific code + for Linux. Remove old Linux-specific code. + Tue Jan 19 09:34:55 1999 John W. Eaton <jwe@bevo.che.wisc.edu> * dMatrix.cc (operator * (const ColumnVector& v, const RowVector& a)):
--- a/liboctave/Makefile.in +++ b/liboctave/Makefile.in @@ -113,8 +113,6 @@ endif endif -LIBOCTAVE_DEPEND := $(patsubst %, liboctave.$(LIBEXT)(%), $(OBJECTS)) - all: libraries .PHONY: all @@ -136,23 +134,19 @@ ifeq ($(SHARED_LIBS), true) ifeq ($(STATIC_LIBS), true) - libraries: liboctave.$(LIBEXT) liboctave.$(SHLEXT) + libraries: liboctave.$(LIBEXT)($(OBJECTS)) liboctave.$(SHLEXT) else libraries: liboctave.$(SHLEXT) endif else ifeq ($(STATIC_LIBS), true) - libraries: liboctave.$(LIBEXT) + libraries: liboctave.$(LIBEXT)($(OBJECTS)) else libraries: endif endif .PHONY: libraries -liboctave.$(LIBEXT): $(OBJECTS) - $(AR) $(ARFLAGS) $@ $^ - $(RANLIB) $@ - liboctave.$(SHLEXT): liboctave.$(SHLEXT_VER) rm -f $@ $(LN_S) $< $@
--- a/liboctave/data-conv.cc +++ b/liboctave/data-conv.cc @@ -95,6 +95,26 @@ (*current_liboctave_error_handler) ("unable to find matching native data type for %s", s.c_str ()); } + else if (s == "uint16") + { + if (sizeof (unsigned short) == 2) + retval = dt_ushort; + else if (sizeof (unsigned int) == 2) + retval = dt_uint; + else + (*current_liboctave_error_handler) + ("unable to find matching native data type for %s", s.c_str ()); + } + else if (s == "uint32") + { + if (sizeof (unsigned int) == 4) + retval = dt_uint; + else if (sizeof (unsigned long) == 4) + retval = dt_ulong; + else + (*current_liboctave_error_handler) + ("unable to find matching native data type for %s", s.c_str ()); + } else (*current_liboctave_error_handler) ("invalid data type specified");
--- a/liboctave/lo-ieee.cc +++ b/liboctave/lo-ieee.cc @@ -68,13 +68,7 @@ #if defined (SCO) double tmp = 1.0; octave_Inf = 1.0 / (tmp - tmp); -#elif defined (linux) -#if defined (HUGE_VAL) && ! defined (arm) - octave_Inf = HUGE_VAL; -#else - octave_Inf = 1.0/0.0; -#endif -#elif defined (__alpha__) +#elif defined (__alpha__) && ! defined (linux) extern unsigned int DINFINITY[2]; octave_Inf = (*(X_CAST(double *, DINFINITY))); #elif defined (HAVE_INFINITY) @@ -95,13 +89,7 @@ #if defined (HAVE_ISNAN) -#if defined (linux) -#if defined (NAN) && ! defined (arm) - octave_NaN = NAN; -#else - octave_NaN = 0.0/0.0; -#endif -#elif defined (__alpha__) +#if defined (__alpha__) && ! defined (linux) extern unsigned int DQNAN[2]; octave_NaN = (*(X_CAST(double *, DQNAN))); #elif defined (HAVE_QUIET_NAN)
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,59 @@ +Wed Mar 24 20:34:48 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * linear-algebra/norm.m: Do the right thing for 1- and + infinity-norms of complex matrices. From Sven Khatri + <khatri@saturn.vocalpoint.com>. + +Tue Mar 16 13:36:36 1999 A. Scottedward Hodel" <scotte@eng.auburn.edu> + + * linear-algebra/qrhouse.m: Handle default args correctly. + +Thu Mar 11 12:52:34 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * strings/split.m: Avoid problems when splitting strings that have + \ in them. + +Thu Mar 11 12:36:13 1999 Massimo Lorenzin <maxlorenzin@tin.it> + + * image/colormap.m: Do better arg checking, handle string args + that name the colormap function to call (e.g., colormap ("ocean")). + +Mon Mar 8 22:23:24 1999 Rolf Fabian <fabian@TU-Cottbus.De> + + * polynomial/polyfit.m: Use .' transpose operator, not '. + * linear-algebra/dot.m: Likewise. + * linear-algebra/cross.m: Likewise. + * general/rot90.m: Likewise. + +Sat Mar 6 01:45:00 1999 A Scott Hodel <hodel@edalf1.msfc.nasa.gov> + + * linear-algebra/qrhouse.m: Permute columns at each iteration so + that the leading column is not all zeros. + +Fri Mar 5 00:37:47 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * general/shift.m: Fix potential problems with + whitespace_in_literal_matrix. + * signal/arch_rnd.m: Ditto. + * signal/autocov.m: Ditto. + * signal/diffpara.m: Ditto. + * signal/hurst.m: Ditto. + * signal/periodogram.m: Ditto. + * signal/spectral_adf.m: Ditto. + * signal/spectral_xdf.m: Ditto. + * signal/spencer.m: Ditto. + * signal/synthesis.m: Ditto. + * statistics/distributions/wiener_rnd.m: Ditto. + * statistics/models/logistic_regression_likelihood.m: Ditto. + * statistics/models/logistic_regression.m: Ditto. + * statistics/models/logistic_regression_derivatives.m: Ditto. + * statistics/tests/run_test.m: Ditto. + * statistics/tests/chisquare_test_independence.m: Ditto. + +Wed Mar 3 02:25:00 1999 Joao Cardoso <jcardoso@inescn.pt> + + * plot/__plr2__.m: Fix typo. + Tue Jan 12 10:31:15 1999 John W. Eaton <jwe@bevo.che.wisc.edu> * plot/__pltopt1__.m: Accept "k" to mean black.
--- a/scripts/control/buildssic.m +++ b/scripts/control/buildssic.m @@ -129,7 +129,7 @@ nt = n + nz; endif for ii = 6:nargin - eval(["ss = s" num2str(ii-4) ";"]); + eval(["ss = s", num2str(ii-4), ";"]); if (!is_struct(ss)) error("---> Parameter must be a structed system."); endif @@ -150,14 +150,14 @@ nt1 = n1 + nz1; if (!nt1) # pure gain (pad B, C with zeros) - B = [B zeros(nt,m1)]; + B = [B, zeros(nt,m1)]; C = [C; zeros(p1,nt)]; else - A = [A zeros(nt,nt1); zeros(nt1,nt) as]; - B = [B zeros(nt,m1); zeros(nt1,m) bs]; - C = [C zeros(p,nt1); zeros(p1,nt) cs]; + A = [A, zeros(nt,nt1); zeros(nt1,nt), as]; + B = [B, zeros(nt,m1); zeros(nt1,m), bs]; + C = [C, zeros(p,nt1); zeros(p1,nt), cs]; endif - D = [D zeros(p,m1); zeros(p1,m) ds]; + D = [D, zeros(p,m1); zeros(p1,m), ds]; n = n + n1; nz = nz + nz1; nt = nt + nt1;
--- a/scripts/control/c2d.m +++ b/scripts/control/c2d.m @@ -97,7 +97,7 @@ [ sys_a, sys_b, sys_c, sys_d] = sys2ss( sys); if(isempty(Acd)) Bmat = sys_b; elseif(isempty(csys_b)) Bmat = Acd; - else Bmat = [Acd csys_b]; endif + else Bmat = [Acd, csys_b]; endif row_zer = columns(Bmat); csysn = sysdimensions(csys); @@ -108,7 +108,7 @@ warning("c2d: no inputs to continuous subsystem."); mat = csysa; else - mat = [csysa Bmat ; zeros( row_zer,col_zer) ]; + mat = [csysa, Bmat ; zeros( row_zer,col_zer) ]; endif matexp = expm(mat * T);
--- a/scripts/control/d2c.m +++ b/scripts/control/d2c.m @@ -123,7 +123,7 @@ warning("d2c: empty b matrix"); Amat = a; else - Amat = [a, b; zeros(nb, na) eye(nb)]; + Amat = [a, b; zeros(nb,na), eye(nb)]; endif poles = eig(a); @@ -160,8 +160,8 @@ Mall = Mtop; DMall = DMtop; else - Mall = [Mtop; zeros(nb, na+nb)]; - DMall = [DMtop; zeros(nb, na+nb) ]; + Mall = [Mtop; zeros(nb,na+nb)]; + DMall = [DMtop; zeros(nb,na+nb) ]; endif if(newgrad)
--- a/scripts/control/dlqg.m +++ b/scripts/control/dlqg.m @@ -112,8 +112,8 @@ # now we can just do the design; call dlqr and dlqe, since all matrices # are not given in Cholesky factor form (as in h2syn case) -[Ks P Er] = dlqr(A,B,Q,R); -[Ke Q jnk Ee] = dlqe(A,G,C,Sigw,Sigv); +[Ks, P, Er] = dlqr(A,B,Q,R); +[Ke, Q, jnk, Ee] = dlqe(A,G,C,Sigw,Sigv); Ac = A - Ke*C - B*Ks; Bc = Ke; Cc = -Ks;
--- a/scripts/control/dre.m +++ b/scripts/control/dre.m @@ -70,11 +70,11 @@ mm = sysdimensions(sys,"in"); pp = sysdimensions(sys,"out"); -if(size(Q) != [nn nn]) +if(size(Q) != [nn, nn]) error("Q(%dx%d); sys has %d states",rows(Q),columns(Q),nn); -elseif(size(Qf) != [nn nn]) +elseif(size(Qf) != [nn, nn]) error("Qf(%dx%d); sys has %d states",rows(Qf),columns(Qf),nn); -elseif(size(R) != [mm mm]) +elseif(size(R) != [mm, mm]) error("R(%dx%d); sys has %d inputs",rows(R),columns(R),mm); endif @@ -109,7 +109,7 @@ maxerr = max(maxerr,Perr); if(Perr > Ptol) new_t = mean(tvals([ii,ii-1])); - tvals = [tvals new_t]; + tvals = [tvals, new_t]; done = 0; endif endfor
--- a/scripts/control/h2syn.m +++ b/scripts/control/h2syn.m @@ -65,10 +65,10 @@ d22nz = dgs.Dyu_nz; dflg = dgs.dflg; - if(norm(Dzw,Inf) > norm([Dzw Dzu ; Dyw Dyu],Inf)*1e-12) + if(norm(Dzw,Inf) > norm([Dzw, Dzu ; Dyw, Dyu],Inf)*1e-12) warning("h2syn: Dzw nonzero; feedforward not implemented") Dzw - D = [Dzw Dzu ; Dyw Dyu] + D = [Dzw, Dzu ; Dyw, Dyu] endif # recover i/o transformations
--- a/scripts/control/hinf_ctr.m +++ b/scripts/control/hinf_ctr.m @@ -110,9 +110,9 @@ # rescale controller by Ru and Ry b1hat = b1hat/Ry; c1hat = Ru\c1hat; - bhat = [b1hat b2hat]; + bhat = [b1hat, b2hat]; chat = [c1hat; c2hat]; - dhat = [Ru\d11hat/Ry Ru\d12hat; d21hat/Ry 0*d11hat']; + dhat = [Ru\d11hat/Ry, Ru\d12hat; d21hat/Ry, 0*d11hat']; # non-zero D22 is a special case if (d22nz) @@ -120,7 +120,7 @@ error(" *** cannot compute controller for D22 non-zero."); endif - d22new = [D22 zeros(ny,ny); zeros(nu,nu) 0*D22']; + d22new = [D22, zeros(ny,ny); zeros(nu,nu), 0*D22']; xx = inv(eye(nu+ny) + d22new*dhat); mhat = inv(eye(nu+ny) + dhat*d22new); ahat = ahat - bhat*((eye(nu+ny)-xx)/dhat)*chat;
--- a/scripts/control/hinfnorm.m +++ b/scripts/control/hinfnorm.m @@ -16,7 +16,7 @@ # along with Octave; see the file COPYING. If not, write to the Free # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -function [g gmin gmax] = hinfnorm(sys,tol,gmin,gmax,ptol) +function [g, gmin, gmax] = hinfnorm(sys,tol,gmin,gmax,ptol) # Usage: [g gmin gmax] = hinfnorm(sys[,tol,gmin,gmax,ptol]) # # Computes the H infinity norm of a system data structure @@ -108,7 +108,7 @@ [qza,qzb,zz,pls] = qz(s1,s2,"S"); # ordered qz decomposition eigerr = abs(abs(pls)-1); normH = norm([s1,s2]); - Hb = [s1 s2]; + Hb = [s1, s2]; # check R - B' X B condition (Iglesias and Glover's paper) X = zz((nz+1):(2*nz),1:nz)/zz(1:nz,1:nz);
--- a/scripts/control/hinfsyn.m +++ b/scripts/control/hinfsyn.m @@ -103,9 +103,9 @@ Atsam = sysgettsam(Asys); [Ast, Ain, Aout] = sysgetsignals(Asys); - BB = [B1 B2]; + BB = [B1, B2]; CC = [C1 ; C2]; - DD = [D11 D12 ; D21 D22]; + DD = [D11, D12 ; D21, D22]; if (dflg == 0) n = ncstates; @@ -182,7 +182,7 @@ printf("%10.4f ", g); # computing R and R~ - d1dot = [D11 D12]; + d1dot = [D11, D12]; R = zeros(nin, nin); R(1:nw,1:nw) = -g*g*eye(nw); R = R + d1dot' * d1dot;
--- a/scripts/control/hinfsyn_ric.m +++ b/scripts/control/hinfsyn_ric.m @@ -38,8 +38,8 @@ nw = is_square(R); if(rank(R) != nw) x_ha_err = 6; else # build hamiltonian Ha for X_inf - xx = ([BB; -C1'*d1dot]/R) * [d1dot'*C1 BB']; - Ha = [A 0*A; -C1'*C1 -A'] - xx; + xx = ([BB; -C1'*d1dot]/R) * [d1dot'*C1, BB']; + Ha = [A, 0*A; -C1'*C1, -A'] - xx; x_ha_err = 0; [d, Ha] = balance(Ha); [u, s] = schur(Ha, "A");
--- a/scripts/control/is_dgkf.m +++ b/scripts/control/is_dgkf.m @@ -141,7 +141,7 @@ endif # 12 - rank condition at w = 0 - xx =[A Bu; Cz Dzu]; + xx =[A, Bu; Cz, Dzu]; [nr, nc] = size(xx); irank = rank(xx); if (irank != nc) @@ -152,7 +152,7 @@ endif # 21 - rank condition at w = 0 - xx =[A Bw; Cy Dyw]; + xx =[A, Bw; Cy, Dyw]; [nr, nc] = size(xx); irank = rank(xx); if (irank != nr) @@ -174,7 +174,7 @@ if (nu >= nz) Qz = Qz(:,1:nu)'; else - Qz = [Qz(:,(nu+1):nz) Qz(:,1:nu)]'; + Qz = [Qz(:,(nu+1):nz), Qz(:,1:nu)]'; endif Ru = Ru(1:nu,:); @@ -191,14 +191,14 @@ if (ny >= nw) Qw = Qw(:,1:ny); else - Qw = [Qw(:,(ny+1):nw) Qw(:,1:ny)]; + Qw = [Qw(:,(ny+1):nw), Qw(:,1:ny)]; endif Ry = Ry(1:ny,:)'; # transform P by Qz/Ru and Qw/Ry Bw = Bw*Qw; Bu = Bu/Ru; - B = [Bw Bu]; + B = [Bw, Bu]; Cz = Qz*Cz; Cy = Ry\Cy; C = [Cz; Cy];
--- a/scripts/control/lqg.m +++ b/scripts/control/lqg.m @@ -104,11 +104,11 @@ # now we can just do the design; call dlqr and dlqe, since all matrices # are not given in Cholesky factor form (as in h2syn case) if(DIG) - [Ks P1 Er] = dlqr(A,B,Q,R); - [Ke Q1 jnk Ee] = dlqe(A,G,C,Sigw,Sigv); + [Ks, P1, Er] = dlqr(A,B,Q,R); + [Ke, Q1, jnk, Ee] = dlqe(A,G,C,Sigw,Sigv); else - [Ks P1 Er] = lqr(A,B,Q,R); - [Ke Q1 Ee] = lqe(A,G,C,Sigw,Sigv); + [Ks, P1, Er] = lqr(A,B,Q,R); + [Ke, Q1, Ee] = lqe(A,G,C,Sigw,Sigv); endif Ac = A - Ke*C - B*Ks; Bc = Ke;
--- a/scripts/control/mb.m +++ b/scripts/control/mb.m @@ -19,18 +19,18 @@ # I think that this m-file can be deleted # a.s.hodel@eng.auburn.edu - 4 Dec. 1998 -Ap = [0 1;1960 0]; +Ap = [0, 1;1960, 0]; Bp = [0;-6261]; -Cp = [1 0]; +Cp = [1, 0]; Dp = 0; Gp = ss2sys(Ap,Bp,Cp,Dp,0,2,0,[],"delta_i","delta_y"); Gp = syssetsignals(Gp,"st","delta_x1",1); Gp = syssetsignals(Gp,"st","delta_x2",2); -Ak = [-20 1;-22160 -200]; +Ak = [-20, 1;-22160, -200]; Bk = [-20;-2160]; -Ck = [-3.5074 -0.0319]; +Ck = [-3.5074, -0.0319]; Dk = 0; Gk = ss2sys(Ak,Bk,Ck,Dk,0,2,0,[],"y","i"); @@ -39,11 +39,11 @@ Gc = sysgroup(Gp,Gk); -Gc = sysdup(Gc,[],[1 2]); +Gc = sysdup(Gc,[],[1, 2]); # Gc = sysscale(Gc,[],diag([1,1,1,1])); -Gc = sysconnect(Gc,[1 2],[4 3]); -Gc = sysprune(Gc,1,[1 2]); +Gc = sysconnect(Gc,[1, 2],[4, 3]); +Gc = sysprune(Gc,1,[1, 2]); disp("after pruning, closed loop system is") sysout(Gc)
--- a/scripts/control/pzmap.m +++ b/scripts/control/pzmap.m @@ -43,11 +43,11 @@ zerdata = poldata = []; if(length(zer)) zer = reshape(zer,length(zer),1); - zerdata = [real(zer(:,1)) imag(zer(:,1))]; + zerdata = [real(zer(:,1)), imag(zer(:,1))]; endif if(length(pol)) pol = reshape(pol,length(pol),1); - poldata = [real(pol(:,1)) imag(pol(:,1))]; + poldata = [real(pol(:,1)), imag(pol(:,1))]; endif # determine continuous or discrete plane
--- a/scripts/control/rlocus.m +++ b/scripts/control/rlocus.m @@ -52,7 +52,7 @@ if(lden < 2) error(sprintf("length of derivative=%d, doesn't make sense",lden)); elseif(lnum == 1) - num = [0 num]; # so that derivative is shortened by one + num = [0, num]; # so that derivative is shortened by one endif # root locus plot axis limits @@ -180,7 +180,7 @@ idx = find(real(rlpolv) >= xmin & real(rlpolv) <= xmax); axdata = [real(rlpolv(idx)),imag(rlpolv(idx))]; axlim = axis2dlim(axdata); - axlim(1:2) = [xmin xmax]; + axlim(1:2) = [xmin, xmax]; gset nologscale xy; grid("on"); rldata = [real(rlpolv), imag(rlpolv) ];
--- a/scripts/control/series.m +++ b/scripts/control/series.m @@ -79,9 +79,9 @@ # put the two state space systems in series - a = [a1 zeros(rows(a1),columns(a2));b2*c1 a2]; + a = [a1, zeros(rows(a1),columns(a2));b2*c1, a2]; b = [b1;b2*d1]; - c = [d2*c1 c2]; + c = [d2*c1, c2]; d = [d2*d1]; # take care of mu output
--- a/scripts/control/ss2sys.m +++ b/scripts/control/ss2sys.m @@ -141,7 +141,7 @@ retsys.yd = zeros(1,p); # default value entered below # Set the system vector: active = 2(ss), updated = [0 0 1]; - retsys.sys = [2 0 0 1]; + retsys.sys = [2, 0, 0, 1]; retsys.stname = sysdefstname(n,nz); retsys.inname = sysdefioname(m,"u");
--- a/scripts/control/starp.m +++ b/scripts/control/starp.m @@ -67,8 +67,8 @@ nu_sign = 1; if (nargin == 2) # perform a LFT of P and K (upper or lower) - ny = min([pp mk]); - nu = min([pk mp]); + ny = min([pp, mk]); + nu = min([pk, mp]); else if (ny < 0) ny = -ny; @@ -104,15 +104,15 @@ # checks done, form sys if (nzp) Olst = [1:nzp]; endif - if (nzk) Olst = [Olst pp+nu+1:pp+pk]; endif + if (nzk) Olst = [Olst, pp+nu+1:pp+pk]; endif if (nwp) Ilst = [1:nwp]; endif - if (nwk) Ilst = [Ilst mp+ny+1:mp+mk]; endif + if (nwk) Ilst = [Ilst, mp+ny+1:mp+mk]; endif Clst = zeros(ny+nu,2); for ii = 1:nu - Clst(ii,:) = [nwp+ii nu_sign*(pp+ii)]; + Clst(ii,:) = [nwp+ii, nu_sign*(pp+ii)]; endfor for ii = 1:ny - Clst(nu+ii,:) = [mp+ii ny_sign*(nzp+ii)]; + Clst(nu+ii,:) = [mp+ii, ny_sign*(nzp+ii)]; endfor sys = buildssic(Clst,[],Olst,Ilst,P,K);
--- a/scripts/control/sysadd.m +++ b/scripts/control/sysadd.m @@ -92,6 +92,6 @@ eyin = eye(mg); eyout = eye(pg); - sys = sysscale(sys,[eyout eyout],[eyin;eyin],Gout,Gin); + sys = sysscale(sys,[eyout, eyout],[eyin;eyin],Gout,Gin); endfunction
--- a/scripts/control/sysconnect.m +++ b/scripts/control/sysconnect.m @@ -205,7 +205,7 @@ # construct system data structure if(m1 > 0) - Bc = [B1c B2c]; + Bc = [B1c, B2c]; else Bc = B2c; endif
--- a/scripts/control/tf2sys.m +++ b/scripts/control/tf2sys.m @@ -66,7 +66,7 @@ outsys.den = den; # Set the system vector: active = 0(tf), updated = [1 0 0]; - outsys.sys = [0 1 0 0]; + outsys.sys = [0, 1, 0, 0]; # Set defaults outsys.tsam = tsam;
--- a/scripts/control/tzero.m +++ b/scripts/control/tzero.m @@ -67,7 +67,7 @@ # problem balancing method (Hodel and Tiller, Linear Alg. Appl., 1992) Asys = zgpbal(Asys); [A,B,C,D] = sys2ss(Asys); # balance coefficients - meps = 2*eps*norm([A B; C D],'fro'); + meps = 2*eps*norm([A, B; C, D],'fro'); Asys = zgreduce(Asys,meps); [A, B, C, D] = sys2ss(Asys); # ENVD algorithm if(!isempty(A)) # repeat with dual system @@ -80,13 +80,13 @@ zer = []; # assume none [A,B,C,D] = sys2ss(Asys); if( !isempty(C) ) - [W,r,Pi] = qr([C D]'); + [W,r,Pi] = qr([C, D]'); [nonz,ztmp] = zgrownorm(r,meps); if(nonz) # We can now solve the generalized eigenvalue problem. [pp,mm] = size(D); nn = rows(A); - Afm = [A , B ; C D] * W'; + Afm = [A , B ; C, D] * W'; Bfm = [eye(nn), zeros(nn,mm); zeros(pp,nn+mm)]*W'; jdx = (mm+1):(mm+nn);
--- a/scripts/control/zginit.m +++ b/scripts/control/zginit.m @@ -74,7 +74,7 @@ endfor # zz part 3: - cd = [c d]; + cd = [c, d]; for i=1:pp i1 = i+nn+mm; cdidx = find(cd(i,:) != 0);
--- a/scripts/control/zp2ssg2.m +++ b/scripts/control/zp2ssg2.m @@ -58,7 +58,7 @@ endif # remove roots used -idx = complement([r1i r2i],1:length(rvals)); +idx = complement([r1i, r2i],1:length(rvals)); rvals = rvals(idx); endfunction
--- a/scripts/control/zp2sys.m +++ b/scripts/control/zp2sys.m @@ -65,7 +65,7 @@ outsys.k = k; # Set the system vector: active = 1, updated = [0 1 0]; - outsys.sys = [1 0 1 0]; + outsys.sys = [1, 0, 1, 0]; # Set defaults outsys.tsam = 0;
--- a/scripts/general/rot90.m +++ b/scripts/general/rot90.m @@ -45,11 +45,11 @@ if (k == 0) y = x; elseif (k == 1) - y = flipud (x'); + y = flipud (x.'); elseif (k == 2) y = flipud (fliplr (x)); elseif (k == 3) - y = (flipud (x))'; + y = (flipud (x)).'; else error ("rot90: internal error!"); endif
--- a/scripts/general/shift.m +++ b/scripts/general/shift.m @@ -31,7 +31,7 @@ error ("usage: shift (X, b)"); endif - [nr nc] = size (x); + [nr, nc] = size (x); if (nr == 0 || nc == 0) error ("shift: x must not be empty"); @@ -47,10 +47,14 @@ if (b >= 0) b = rem (b, nr); - y = [x (nr - b + 1 : nr, :); x (1 : nr - b, :)]; + t1 = x (nr-b+1:nr, :); + t2 = x (1:nr-b, :); + y = [t1; t2]; elseif (b < 0) b = rem (abs (b), nr); - y = [x (b + 1 : nr, :); x (1 : b, :)]; + t1 = x (b+1:nr, :) + t2 = x (1:b, :); + y = [t1; t2]; endif if (nc == 0)
--- a/scripts/image/colormap.m +++ b/scripts/image/colormap.m @@ -42,20 +42,35 @@ endif if (nargin == 1) + if (isstr (map)) if (strcmp (map, "default")) - __current_color_map__ = gray (); + map = gray (); else - error ("invalid argument"); + unwind_protect + save_default_eval_print_flag = default_eval_print_flag; + default_eval_print_flag = 0; + map = eval (map); + unwind_protect_cleanup + default_eval_print_flag = save_default_eval_print_flag; + end_unwind_protect endif - else + endif + + if (! isempty (map)) + if (columns (map) != 3) + error( "colormap: map must have 3 columns: [R,G,B]." ); + endif + if (min (min (map)) < 0 || max (max (map)) > 1) + error( "colormap: map must have values in [0,1]." ); + endif ## Set the new color map __current_color_map__ = map; endif + endif ## Return current color map. - cmap = __current_color_map__; endfunction
--- a/scripts/linear-algebra/cross.m +++ b/scripts/linear-algebra/cross.m @@ -38,7 +38,7 @@ if ((x_nr == y_nr && x_nr == 1) || (x_nr != y_nr && ! prefer_column_vectors)) - z = z'; + z = z.'; endif else
--- a/scripts/linear-algebra/dot.m +++ b/scripts/linear-algebra/dot.m @@ -31,7 +31,7 @@ [y_nr, y_nc] = size (y); if (x_nr == 1) if (y_nr == 1) - z = x * y'; + z = x * y.'; else z = x * y; endif @@ -39,7 +39,7 @@ if (y_nr == 1) z = y * x; else - z = y' * x; + z = y.' * x; endif endif else
--- a/scripts/linear-algebra/norm.m +++ b/scripts/linear-algebra/norm.m @@ -89,20 +89,18 @@ if (strcmp (p, "fro")) retval = sqrt (sum (diag (x' * x))); elseif (strcmp (p, "inf")) - xp = x'; - retval = max (sum (abs (real (xp)) + abs (imag (xp)))); + retval = max (sum (abs (x'))); else error ("norm: unrecognized norm"); endif else if (p == 1) - retval = max (sum (abs (real (x)) + abs (imag (x)))); + retval = max (sum (abs (x))); elseif (p == 2) s = svd (x); retval = s (1); elseif (p == Inf) - xp = x'; - retval = max (sum (abs (real (xp)) + abs (imag (xp)))); + retval = max (sum (abs (x'))); endif endif elseif (nargin == 1)
--- a/scripts/linear-algebra/qrhouse.m +++ b/scripts/linear-algebra/qrhouse.m @@ -17,7 +17,7 @@ # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. function [hv,alph,kb] = qrhouse(VV,eps1) -# function [hv,alph,kb] = qrhouse(VV,eps1) +# function [hv,alph,kb] = qrhouse(VV{,eps1}) # construct orthogonal basis of span(VV) with Householder vectors # Q R = VV; Q may be obtained via routine krygetq; R is upper triangular # if all rows of VV are nonzero; otherwise it's a permuted uppert @@ -37,8 +37,10 @@ # Written by A. S. Hodel, 1992 -if(nargin < 2) - usage("[hv,alph,kb] = qrhouse(VV,eps1)"); +if(nargin < 1 | nargin > 2) + usage("[hv,alph,kb] = qrhouse(VV{,eps1})"); +elseif(nargin == 1) # default value for eps set to 0 + eps1 = 0; endif
--- a/scripts/plot/__plr2__.m +++ b/scripts/plot/__plr2__.m @@ -94,7 +94,7 @@ if (r_nr != t_nr) error ("polar: vector and matrix sizes must match"); endif - diag_r = diag (r); + diag_r = diag (rho); x = diag_r * cos (theta); y = diag_r * sin (theta); __plt2mv__ (x, y, fmt);
--- a/scripts/polynomial/polyfit.m +++ b/scripts/polynomial/polyfit.m @@ -66,7 +66,7 @@ p = flipud (p); if (! prefer_column_vectors) - p = p'; + p = p.'; endif endfunction
--- a/scripts/signal/arch_rnd.m +++ b/scripts/signal/arch_rnd.m @@ -56,7 +56,7 @@ b = [b, 0]; lb = lb + 1; endif - M = max([la lb]); + M = max([la, lb]); e = zeros (T, 1); h = zeros (T, 1); @@ -67,10 +67,10 @@ y(1) = b(1) + e(1); for t= 2 : M; - ta = min ([t la]); + ta = min ([t, la]); h(t) = a(1) + a(2:ta) * e(t-1:t-ta+1).^2; e(t) = sqrt (h(t)) * randn; - tb = min ([t lb]); + tb = min ([t, lb]); y(t) = b(1) + b(2:tb) * y(t-1:t-tb+1) + e(t); endfor if (T > M)
--- a/scripts/signal/autocov.m +++ b/scripts/signal/autocov.m @@ -26,7 +26,7 @@ function retval = autocov (X, h) - [n c] = size (X); + [n, c] = size (X); if (is_vector (X)) n = length (X);
--- a/scripts/signal/diffpara.m +++ b/scripts/signal/diffpara.m @@ -44,7 +44,7 @@ k = 1; X = reshape (X, n, 1); else - [n k] = size(X); + [n, k] = size(X); endif if (nargin == 1) a = 0.5 * sqrt (n);
--- a/scripts/signal/hurst.m +++ b/scripts/signal/hurst.m @@ -35,7 +35,7 @@ x = reshape (x, length (x), 1); end - [xr xc] = size (x); + [xr, xc] = size (x); s = std (x); w = cumsum (x - mean (x));
--- a/scripts/signal/periodogram.m +++ b/scripts/signal/periodogram.m @@ -23,7 +23,7 @@ function retval = periodogram (x) - [r c] = size(x); + [r, c] = size(x); if (r == 1) r = c;
--- a/scripts/signal/spectral_adf.m +++ b/scripts/signal/spectral_adf.m @@ -50,7 +50,7 @@ c = c .* w; retval = 2 * real (fft (c)) - c(1); - retval = [zeros (cr, 1) retval]; + retval = [(zeros (cr, 1)), retval]; retval(:, 1) = (0 : xr-1)' / xr; endfunction
--- a/scripts/signal/spectral_xdf.m +++ b/scripts/signal/spectral_xdf.m @@ -52,7 +52,7 @@ retval = (abs (fft (X)) / xr).^2; retval = real (ifft (fft(retval) .* fft(w))); - retval = [zeros (xr, 1) retval]; + retval = [(zeros (xr, 1)), retval]; retval(:, 1) = (0 : xr-1)' / xr; endfunction
--- a/scripts/signal/spencer.m +++ b/scripts/signal/spencer.m @@ -27,7 +27,7 @@ usage ("spencer (X)"); endif - [xr xc] = size(X); + [xr, xc] = size(X); n = xr; c = xc; @@ -38,7 +38,7 @@ X = reshape(X, n, 1); endif - W = [ -3 -6 -5 3 21 46 67 74 67 46 21 3 -5 -6 -3 ] / 320; + W = [-3, -6, -5, 3, 21, 46, 67, 74, 67, 46, 21, 3, -5, -6, -3] / 320; retval = fftfilt (W, X); retval = [zeros(7,c); retval(15:n,:); zeros(7,c);];
--- a/scripts/signal/synthesis.m +++ b/scripts/signal/synthesis.m @@ -30,7 +30,7 @@ usage ("X = synthesis (Y, c)"); endif - [nr nc] = size (c); + [nr, nc] = size (c); if (nr * nc != 3) error ("synthesis: c must contain exactly 3 elements"); endif
--- a/scripts/statistics/distributions/wiener_rnd.m +++ b/scripts/statistics/distributions/wiener_rnd.m @@ -42,5 +42,5 @@ retval = randn (n * t, d); retval = cumsum (retval) / sqrt (n); - retval = [(1: n*t)' / n retval]; + retval = [((1: n*t)' / n), retval]; endfunction
--- a/scripts/statistics/models/logistic_regression.m +++ b/scripts/statistics/models/logistic_regression.m @@ -66,11 +66,11 @@ ## check input y = round (vec (y)); - [my ny] = size (y); + [my, ny] = size (y); if (nargin < 2) x = zeros (my, 0); endif; - [mx nx] = size (x); + [mx, nx] = size (x); if (mx != my) error ("x and y must have the same number of observations"); endif @@ -83,7 +83,7 @@ z1 = (y * ones (1, yrange)) == ((y * 0 + 1) * ((ymin + 1) : ymax)); z = z(:, any (z)); z1 = z1 (:, any(z1)); - [mz nz] = size (z); + [mz, nz] = size (z); ## starting values if (nargin < 3) @@ -164,7 +164,7 @@ else e = (y * 0 + 1) * theta'; endif - gamma = diff ([(y * 0) exp (e) ./ (1 + exp (e)) (y * 0 + 1)]')'; + gamma = diff ([(y * 0), (exp (e) ./ (1 + exp (e))), (y * 0 + 1)]')'; endif endfunction
--- a/scripts/statistics/models/logistic_regression_derivatives.m +++ b/scripts/statistics/models/logistic_regression_derivatives.m @@ -26,12 +26,12 @@ ## first derivative v = g .* (1 - g) ./ p; v1 = g1 .* (1 - g1) ./ p; - dlogp = [dmult (v, z) - dmult (v1, z1) dmult (v - v1, x)]; + dlogp = [(dmult (v, z) - dmult (v1, z1)), (dmult (v - v1, x))]; dl = sum (dlogp)'; ## second derivative w = v .* (1 - 2 * g); w1 = v1 .* (1 - 2 * g1); - d2l = [z x]' * dmult (w, [z x]) - [z1 x]' * dmult (w1, [z1 x]) ... + d2l = [z, x]' * dmult (w, [z, x]) - [z1, x]' * dmult (w1, [z1, x]) ... - dlogp' * dlogp; endfunction \ No newline at end of file
--- a/scripts/statistics/models/logistic_regression_likelihood.m +++ b/scripts/statistics/models/logistic_regression_likelihood.m @@ -24,7 +24,7 @@ function [g, g1, p, dev] ... = logistic_regression_likelihood (y, x, beta, z, z1) - e = exp ([z x] * beta); e1 = exp ([z1 x] * beta); + e = exp ([z, x] * beta); e1 = exp ([z1, x] * beta); g = e ./ (1 + e); g1 = e1 ./ (1 + e1); g = max (y == max (y), g); g1 = min (y > min(y), g1);
--- a/scripts/statistics/tests/chisquare_test_independence.m +++ b/scripts/statistics/tests/chisquare_test_independence.m @@ -34,11 +34,11 @@ usage ("chisquare_test_independence (X)"); endif - [r s] = size (X); - df = (r - 1) * (s - 1); - n = sum (sum (X)); - Y = sum (X')' * sum (X) / n; - X = (X - Y) .^2 ./ Y; + [r, s] = size (X); + df = (r - 1) * (s - 1); + n = sum (sum (X)); + Y = sum (X')' * sum (X) / n; + X = (X - Y) .^2 ./ Y; chisq = sum (sum (X)); pval = 1 - chisquare_cdf (chisq, df);
--- a/scripts/statistics/tests/run_test.m +++ b/scripts/statistics/tests/run_test.m @@ -31,12 +31,12 @@ usage ("run_test (x)"); endif - A = [ 4529.4 9044.9 13568 18091 22615 27892 - 9044.4 18097 27139 36187 45234 55789 - 13568 27139 40721 54281 67852 83685 - 18091 36187 54281 72414 90470 111580 - 22615 45234 67852 90470 113262 139476 - 27892 55789 83685 111580 139476 172860 ]; + A = [4529.4, 9044.9, 13568, 18091, 22615, 27892; + 9044.4, 18097, 27139, 36187, 45234, 55789; + 13568, 27139, 40721, 54281, 67852, 83685; + 18091, 36187, 54281, 72414, 90470, 111580; + 22615, 45234, 67852, 90470, 113262, 139476; + 27892, 55789, 83685, 111580, 139476, 172860]; b = [1/6; 5/24; 11/120; 19/720; 29/5040; 1/840];
--- a/scripts/strings/split.m +++ b/scripts/strings/split.m @@ -61,9 +61,9 @@ range = (ind (k) + l_t) : ind (k + 1) - 1; if (k != limit) - cmd = sprintf ("%s\"%s\", ", cmd, s (range)); + cmd = sprintf ("%s\"%s\", ", cmd, undo_string_escapes (s (range))); else - cmd = sprintf ("%s\"%s\"", cmd, s (range)); + cmd = sprintf ("%s\"%s\"", cmd, undo_string_escapes (s (range))); endif endfor
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,35 @@ +Fri Mar 26 00:51:53 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Makefile.in (libraries): Use the libfoo.a(objects) method of + creating static libs. + + * defaults.cc (symbols_of_defaults): Initialize LOADPATH to + Vload_path, not ":". + +Thu Mar 18 12:09:23 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * data.cc (Fisnumeric): Fix typo. + +Thu Mar 4 02:17:04 1999 James Macnicol <jamesm@evans.ee.adfa.oz.au> + + * file-io.cc (Ffread, Ffwrite): Add uint16 and uint32 data types + to doc string. + +Wed Mar 3 11:55:17 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * lex.l (handle_string): Allow "" to pass through unchanged if + working on a gset command. + +Tue Mar 2 01:36:29 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * variables.cc (Fexist): If a variable isn't defined, only go on + to look for a global by the same name if we are at the top level. + +Fri Jan 29 02:18:36 1999 John W. Eaton <jwe@bevo.che.wisc.edu> + + * version.h (OCTAVE_NAME_AND_VERSION): Say `GNU Octave', not just + Octave. + Thu Jan 28 21:29:16 1999 John W. Eaton <jwe@bevo.che.wisc.edu> * toplev.cc (Fcomputer): Use CANONICAL_HOST_TYPE, not TARGET_HOST_TYPE.
--- a/src/Makefile.in +++ b/src/Makefile.in @@ -225,13 +225,13 @@ ifeq ($(SHARED_LIBS), true) ifeq ($(STATIC_LIBS), true) - libraries: liboctinterp.$(LIBEXT) liboctinterp.$(SHLEXT) + libraries: liboctinterp.$(LIBEXT)($(OBJECTS)) liboctinterp.$(SHLEXT) else libraries: liboctinterp.$(SHLEXT) endif else ifeq ($(STATIC_LIBS), true) - libraries: liboctinterp.$(LIBEXT) + libraries: liboctinterp.$(LIBEXT)($(OBJECTS)) else libraries: endif
--- a/src/data.cc +++ b/src/data.cc @@ -809,7 +809,7 @@ if (args.length () == 1) retval = args(0).is_numeric_type () ? 1.0 : 0.0; else - print_usage ("is_list"); + print_usage ("isnumeric"); return retval; }
--- a/src/defaults.cc +++ b/src/defaults.cc @@ -421,7 +421,7 @@ DEFVAR (EXEC_PATH, Vexec_path, 0, exec_path, "colon separated list of directories to search for programs to run"); - DEFVAR (LOADPATH, ":", 0, loadpath, + DEFVAR (LOADPATH, Vload_path, 0, loadpath, "colon separated list of directories to search for scripts.\n\ The default value is \":\", which means to search the default list\n\ of directories. The default list of directories may be found in\n\
--- a/src/file-io.cc +++ b/src/file-io.cc @@ -935,7 +935,9 @@ float, float32, real*4 -- single precision float\n\ double, float64, real*8 -- double precision float\n\ int16, integer*2 -- two byte integer\n\ + uint16 -- two byte unsigned integer\n\ int32, integer*4 -- four byte integer\n\ + uint32 -- four byte unsigned integer\n\ \n\ SKIP : number of bytes to skip after each element is read\n\ (default is 0)\n\ @@ -1067,7 +1069,9 @@ float, float32, real*4 -- single precision float\n\ double, float64, real*8 -- double precision float\n\ int16, integer*2 -- two byte integer\n\ + uint16 -- two byte unsigned integer\n\ int32, integer*4 -- four byte integer\n\ + uint32 -- four byte unsigned integer\n\ \n\ SKIP : number of bytes to skip before each element is written\n\ (the default is 0)\n\
--- a/src/lex.l +++ b/src/lex.l @@ -1601,8 +1601,7 @@ if (text_style && lexer_flags.doing_set) { - if (! s.empty ()) - s = string (1, delim) + s + string (1, delim); + s = string (1, delim) + s + string (1, delim); } else {
--- a/src/octave.cc +++ b/src/octave.cc @@ -274,7 +274,6 @@ --echo-commands, -x Echo commands as they are executed.\n\ --exec-path PATH Set path for executing subprograms.\n\ --help, -h, -? Print short help message and exit.\n\ - --norc, -f Don't read any initialization files.\n\ --info-file FILE Use top-level info file FILE.\n\ --info-program PROGRAM Use PROGRAM for reading info files.\n\ --interactive, -i Force interactive behavior.\n\ @@ -282,6 +281,7 @@ --no-init-file Don't read the ~/.octaverc or .octaverc files.\n\ --no-line-editing Don't use readline for command-line editing.\n\ --no-site-file Don't read the site-wide octaverc file.\n\ + --norc, -f Don't read any initialization files.\n\ --path PATH, -p PATH Set initial LOADPATH to PATH.\n\ --silent, -q Don't print message at startup.\n\ --traditional Set compatibility variables.\n\
--- a/src/variables.cc +++ b/src/variables.cc @@ -442,7 +442,8 @@ } symbol_record *sr = curr_sym_tab->lookup (symbol_name); - if (! (sr && sr->is_defined ())) + if (! (sr && (sr->is_defined () + || (curr_sym_tab != top_level_sym_tab)))) sr = global_sym_tab->lookup (symbol_name); retval = 0.0;
--- a/src/version.h +++ b/src/version.h @@ -29,7 +29,7 @@ "Copyright (C) 1996, 1997, 1998 John W. Eaton." #define OCTAVE_NAME_AND_VERSION \ - "Octave, version " OCTAVE_VERSION " (" CANONICAL_HOST_TYPE ")" + "GNU Octave, version " OCTAVE_VERSION " (" CANONICAL_HOST_TYPE ")" #define OCTAVE_NAME_VERSION_AND_COPYRIGHT \ OCTAVE_NAME_AND_VERSION ".\n" OCTAVE_COPYRIGHT "\n\