# HG changeset patch # User John W. Eaton # Date 1481901635 18000 # Node ID 23847979b91ec9519e720b758bed4f2dd44593b0 # Parent 7b368d85e86c61250f2039ad0da8e3ec564cc894 maint: Strip trailing whitespace from source files. diff -r 7b368d85e86c -r 23847979b91e doc/interpreter/genpropdoc.m --- a/doc/interpreter/genpropdoc.m Fri Dec 16 10:56:23 2016 -0500 +++ b/doc/interpreter/genpropdoc.m Fri Dec 16 10:20:35 2016 -0500 @@ -870,7 +870,7 @@ case "linewidth" s.doc = "Width of the line object measured in points."; - + case "linejoin" s.doc = "Control the shape of the junction of line segments. \ This property currently only affects the printed output."; diff -r 7b368d85e86c -r 23847979b91e doc/interpreter/intro.txi --- a/doc/interpreter/intro.txi Fri Dec 16 10:56:23 2016 -0500 +++ b/doc/interpreter/intro.txi Fri Dec 16 10:20:35 2016 -0500 @@ -654,7 +654,7 @@ If output arguments are requested, @code{diary} ignores inputs and returns the current status. The boolean @var{status} indicates whether recording is on or off, and @var{diaryfile} is the name of the file where the session is -stored. +stored. @seealso{history, evalc} @end deftypefn diff -r 7b368d85e86c -r 23847979b91e etc/icons/octave.appdata.xml.in --- a/etc/icons/octave.appdata.xml.in Fri Dec 16 10:56:23 2016 -0500 +++ b/etc/icons/octave.appdata.xml.in Fri Dec 16 10:20:35 2016 -0500 @@ -3,17 +3,17 @@ Copyright (C) 2013-2016 Carnë Draug This file is part of Octave. - + Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - + Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see . diff -r 7b368d85e86c -r 23847979b91e libgui/src/resource-manager.h --- a/libgui/src/resource-manager.h Fri Dec 16 10:56:23 2016 -0500 +++ b/libgui/src/resource-manager.h Fri Dec 16 10:20:35 2016 -0500 @@ -119,7 +119,7 @@ static void cleanup_instance (void) { delete instance; instance = 0; } private: - + static bool instance_ok (void); QString settings_directory; diff -r 7b368d85e86c -r 23847979b91e libinterp/corefcn/gl2ps-print.cc --- a/libinterp/corefcn/gl2ps-print.cc Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/corefcn/gl2ps-print.cc Fri Dec 16 10:20:35 2016 -0500 @@ -127,7 +127,7 @@ void set_linecap (const std::string& s) { octave::opengl_renderer::set_linejoin (s); - + #if defined (HAVE_GL2PSLINEJOIN) if (s == "butt") gl2psLineCap (GL2PS_LINE_CAP_BUTT); @@ -141,7 +141,7 @@ void set_linejoin (const std::string& s) { octave::opengl_renderer::set_linejoin (s); - + #if defined (HAVE_GL2PSLINEJOIN) if (s == "round") gl2psLineJoin (GL2PS_LINE_JOIN_ROUND); diff -r 7b368d85e86c -r 23847979b91e libinterp/corefcn/graphics.cc --- a/libinterp/corefcn/graphics.cc Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/corefcn/graphics.cc Fri Dec 16 10:20:35 2016 -0500 @@ -1618,13 +1618,13 @@ } /* -## Test validation of uicontextmenu property +## Test validation of uicontextmenu property %!test %! hf = figure ("visible", "off"); %! unwind_protect %! hax = axes ("parent", hf); %! hpa = patch ("parent", hax); -%! try +%! try %! set (hax, "uicontextmenu", hpa); %! catch %! err = lasterr (); @@ -1632,7 +1632,7 @@ %! assert (err, 'set: invalid graphics object type for property "uicontextmenu"'); %! unwind_protect_cleanup %! delete (hf); -%! end_unwind_protect +%! end_unwind_protect */ Matrix @@ -4612,18 +4612,18 @@ } /* -## Test validation of axes double properties range +## Test validation of axes double properties range %!test %! hf = figure ("visible", "off"); %! unwind_protect %! hax = axes ("parent", hf); -%! try +%! try %! set (hax, "linewidth", -1); %! catch %! err = lasterr (); %! end_try_catch %! assert (err, 'set: "linewidth" must be greater than 0'); -%! try +%! try %! set (hax, "minorgridalpha", 1.5); %! catch %! err = lasterr (); @@ -4631,7 +4631,7 @@ %! assert (err, 'set: "minorgridalpha" must be less than or equal to 1'); %! unwind_protect_cleanup %! delete (hf); -%! end_unwind_protect +%! end_unwind_protect */ Matrix diff -r 7b368d85e86c -r 23847979b91e libinterp/corefcn/graphics.in.h --- a/libinterp/corefcn/graphics.in.h Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/corefcn/graphics.in.h Fri Dec 16 10:20:35 2016 -0500 @@ -1177,7 +1177,7 @@ base_property* clone (void) const { return new double_property (*this); } void add_constraint (const std::string& type, double val, bool inclusive) - { + { if (type == "min") minval = std::pair (val, inclusive); else if (type == "max") @@ -2677,8 +2677,8 @@ void insert_static_property (const std::string& name, base_property& p) { insert_property (name, property (&p, true)); } - virtual void init (void) - { + virtual void init (void) + { uicontextmenu.add_constraint ("uicontextmenu"); } }; diff -r 7b368d85e86c -r 23847979b91e libinterp/corefcn/pager.cc --- a/libinterp/corefcn/pager.cc Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/corefcn/pager.cc Fri Dec 16 10:20:35 2016 -0500 @@ -538,7 +538,7 @@ If output arguments are requested, @code{diary} ignores inputs and returns the current status. The boolean @var{status} indicates whether recording is on or off, and @var{diaryfile} is the name of the file where the session is -stored. +stored. @seealso{history, evalc} @end deftypefn */) { diff -r 7b368d85e86c -r 23847979b91e libinterp/corefcn/profiler.h --- a/libinterp/corefcn/profiler.h Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/corefcn/profiler.h Fri Dec 16 10:20:35 2016 -0500 @@ -92,7 +92,7 @@ profile_data_accumulator& operator = (const profile_data_accumulator&) = delete; - + virtual ~profile_data_accumulator (); bool is_active (void) const { return enabled; } diff -r 7b368d85e86c -r 23847979b91e libinterp/corefcn/symtab.h --- a/libinterp/corefcn/symtab.h Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/corefcn/symtab.h Fri Dec 16 10:20:35 2016 -0500 @@ -1810,7 +1810,7 @@ else error ("install_built_in_dispatch: '%s' is undefined", name.c_str ()); } - + static void push_context (scope_id scope = xcurrent_scope) { if (scope == xglobal_scope || scope == xtop_scope) diff -r 7b368d85e86c -r 23847979b91e libinterp/dldfcn/__ode15__.cc --- a/libinterp/dldfcn/__ode15__.cc Fri Dec 16 10:56:23 2016 -0500 +++ b/libinterp/dldfcn/__ode15__.cc Fri Dec 16 10:20:35 2016 -0500 @@ -38,7 +38,7 @@ #include #include -#include +#include #include "defun-dld.h" #include "iostream" @@ -83,7 +83,7 @@ SparseMatrix (*DAEJacCellSparse) (SparseMatrix *dfdy, SparseMatrix *dfdyp, realtype cj); - //Default + //Default IDA (void) : t0 (0.0), y0 (), yp0 (), havejac (false), havejacfun (false), havejacsparse (false), mem (NULL), num (), ida_fun (NULL), @@ -103,8 +103,8 @@ { }; - ~IDA (void) { IDAFree (&mem); } - + ~IDA (void) { IDAFree (&mem); } + IDA& set_jacobian (octave_function *jac, DAEJacFuncDense j) { @@ -115,7 +115,7 @@ havejacsparse = false; return *this; } - + IDA& set_jacobian (octave_function *jac, DAEJacFuncSparse j) { @@ -151,7 +151,7 @@ havejacsparse = true; return *this; } - + void set_userdata (void); @@ -162,16 +162,16 @@ NVecToCol (N_Vector& v, long int n); static N_Vector - ColToNVec (const ColumnVector& data, long int n); + ColToNVec (const ColumnVector& data, long int n); void set_up (void); void - set_tolerance (ColumnVector& abstol, realtype reltol); + set_tolerance (ColumnVector& abstol, realtype reltol); void - set_tolerance (realtype abstol, realtype reltol); + set_tolerance (realtype abstol, realtype reltol); static int resfun (realtype t, N_Vector yy, N_Vector yyp, @@ -182,7 +182,7 @@ N_Vector& yyp, N_Vector& rr); static int - jacdense (long int Neq, realtype t, realtype cj, + jacdense (long int Neq, realtype t, realtype cj, N_Vector yy, N_Vector yyp, N_Vector resvec, DlsMat JJ, void *user_data, N_Vector tempv1, N_Vector tempv2, N_Vector tempv3) @@ -215,10 +215,10 @@ N_Vector& yyp, SlsMat& Jac); void - set_maxstep (realtype maxstep); + set_maxstep (realtype maxstep); void - set_initialstep (realtype initialstep); + set_initialstep (realtype initialstep); bool interpolate (int& cont, Matrix& output, ColumnVector& tout, @@ -231,7 +231,7 @@ int& temp, ColumnVector& yold); bool - outputfun (octave_function *output_fcn, bool haveoutputsel, + outputfun (octave_function *output_fcn, bool haveoutputsel, const ColumnVector& output, realtype tout, realtype tend, ColumnVector& outputsel, std::string flag); @@ -257,7 +257,7 @@ void print_stat (void); - + private: realtype t0; @@ -285,7 +285,7 @@ int IDA::resfun (realtype t, N_Vector yy, N_Vector yyp, N_Vector rr, void *user_data) - { + { IDA *self = static_cast (user_data); @@ -306,9 +306,9 @@ IDA::NVecToCol (yyp, num); ColumnVector res = - (*fun) (y, yp, t, ida_fun); - - realtype *puntrr = + (*fun) (y, yp, t, ida_fun); + + realtype *puntrr = NV_DATA_S (rr); for (octave_idx_type i = 0; i < num; i++) @@ -352,8 +352,8 @@ void IDA::jacdense_impl (long int Neq, realtype t, realtype cj, N_Vector& yy, N_Vector& yyp, DlsMat& JJ) - - { + + { BEGIN_INTERRUPT_WITH_EXCEPTIONS; ColumnVector y = @@ -379,8 +379,8 @@ void IDA::jacsparse_impl (realtype t, realtype cj, N_Vector& yy, N_Vector& yyp, SlsMat& Jac) - - { + + { BEGIN_INTERRUPT_WITH_EXCEPTIONS; ColumnVector y = @@ -399,7 +399,7 @@ SparseSetMatToZero (Jac); int *colptrs = *(Jac -> colptrs); int *rowvals = *(Jac -> rowvals); - + for (int i = 0; i < num + 1; i++) colptrs[i] = jac.cidx(i); @@ -407,7 +407,7 @@ { rowvals[i] = jac.ridx (i); Jac -> data[i] = jac.data (i); - } + } END_INTERRUPT_WITH_EXCEPTIONS; } @@ -417,11 +417,11 @@ { ColumnVector data (n); realtype *punt; - punt = NV_DATA_S (v); + punt = NV_DATA_S (v); for (octave_idx_type i = 0; i < n; i++) data (i) = punt [i]; - + return data; } @@ -436,7 +436,7 @@ for (octave_idx_type i = 0; i < n; i++) punt [i] = data (i); - + return v; } @@ -455,10 +455,10 @@ void IDA::initialize (void) - { - num = y0.numel(); + { + num = y0.numel(); mem = IDACreate (); - + N_Vector yy = ColToNVec(y0, num); @@ -492,7 +492,7 @@ void IDA::set_tolerance (realtype abstol, realtype reltol) - { + { int flag = IDASStolerances (mem, reltol, abstol); if (flag != 0) @@ -504,11 +504,11 @@ octave_value_list IDA::integrate (const int numt, const ColumnVector& tspan, const ColumnVector& y, const ColumnVector& yp, - const int refine, bool haverefine, bool haveoutputfcn, + const int refine, bool haverefine, bool haveoutputfcn, octave_function *output_fcn, bool haveoutputsel, ColumnVector& outputsel, bool haveeventfunction, octave_function *event_fcn) - { + { // Set up output ColumnVector tout, yout (num), ypout (num), ysel (outputsel.numel ()); ColumnVector ie, te, oldval, oldisterminal, olddir; @@ -517,19 +517,19 @@ bool status = 0; std::string string = ""; ColumnVector yold = y; - octave_value_list retval; - + octave_value_list retval; + realtype tsol = tspan (0); realtype tend = tspan (numt - 1); - + N_Vector yyp = ColToNVec (yp, num); - + N_Vector yy = - ColToNVec (y, num); - + ColToNVec (y, num); + // Initialize OutputFcn if (haveoutputfcn) status = IDA::outputfun (output_fcn, haveoutputsel, y, @@ -551,7 +551,7 @@ for (octave_idx_type i = 0; i < num; i++) output.elem (0, i) = y.elem (i); - //Main loop + //Main loop for (octave_idx_type j = 1; j < numt && status == 0; j++) { // IDANORMAL already interpolates tspan(j) @@ -560,14 +560,14 @@ { error ("IDASolve failed"); } - + yout = NVecToCol (yy, num); ypout = NVecToCol (yyp, num); - tout (j) = tsol; + tout (j) = tsol; for (octave_idx_type i = 0; i < num; i++) output.elem (j, i) = yout.elem (i); - + if (haveoutputfcn) status = IDA::outputfun (output_fcn, haveoutputsel, yout, tsol, tend, outputsel, string); @@ -587,7 +587,7 @@ } } else // numel (tspan) == 2 - { + { // First output value tout.resize (1); tout (0) = tsol; @@ -617,12 +617,12 @@ haveeventfunction, event_fcn, te, ye, ie, oldval, oldisterminal, olddir, temp, yold); - + ypout = NVecToCol (yyp, num); cont += 1; output.resize (cont + 1, num); // This may be not efficient tout.resize (cont + 1); - tout (cont) = tsol; + tout (cont) = tsol; yout = NVecToCol (yy, num); for (octave_idx_type i = 0; i < num; i++) @@ -631,7 +631,7 @@ if (haveoutputfcn && ! haverefine && tout (cont) < tend) status = IDA::outputfun (output_fcn, haveoutputsel, yout, tsol, tend, outputsel, string); - + if (haveeventfunction && ! haverefine && tout (cont) < tend) status = IDA::event (event_fcn, te, ye, ie, tout (cont), yout, string, ypout, oldval, oldisterminal, @@ -640,9 +640,9 @@ if (status == 0) { // Interpolate in tend - N_Vector dky = + N_Vector dky = N_VNew_Serial (num); - + flag = IDAGetDky (mem, tend, 0, dky); if (flag != 0) { @@ -655,7 +655,7 @@ for (octave_idx_type i = 0; i < num; i++) output.elem (cont, i) = yout.elem (i); - // Plot final value + // Plot final value if (haveoutputfcn) { status = IDA::outputfun (output_fcn, haveoutputsel, yout, @@ -668,7 +668,7 @@ olddir, cont, temp, tout (cont - 1), yold); } - + N_VDestroy_Serial (dky); } // Cleanup plotter @@ -730,14 +730,14 @@ index (index.numel () - 1) = i; } } - + if (cont == 1 && index.numel () > 0) // Events in first step { temp = 1; // register only the first event te.resize (1); ye.resize (1, num); ie.resize (1); - + // Linear interpolation ie (0) = index (0); te (0) = tsol - val (index (0)) * (tsol - told) @@ -745,41 +745,41 @@ ColumnVector ytemp = y - ((tsol - te (0)) * (y - yold ) / (tsol - told)); - + for (octave_idx_type i = 0; i < num; i++) - ye.elem (0, i) = ytemp.elem (i); - + ye.elem (0, i) = ytemp.elem (i); + } - else if (index.numel () > 0) + else if (index.numel () > 0) // Not first step: register all events and test if stop integration or not { te.resize (temp + index.numel ()); ye.resize (temp + index.numel (), num); ie.resize (temp + index.numel ()); - + for (octave_idx_type i = 0; i < index.numel (); i++) { if (isterminal (index (i)) == 1) status = 1; // Stop integration - - // Linear interpolation + + // Linear interpolation ie (temp + i) = index (i); te (temp + i) = tsol - - val (index (i)) * (tsol - told) / + val (index (i)) * (tsol - told) / (val (index (i)) - oldval (index (i))); ColumnVector ytemp = y - (tsol - te (temp + i)) * (y - yold) / (tsol - told); - + for (octave_idx_type j = 0; j < num; j++) - ye.elem (temp + i, j) = ytemp.elem (j); - + ye.elem (temp + i, j) = ytemp.elem (j); + } temp += index.numel (); } - + // Update variables yold = y; told = tsol; @@ -803,20 +803,20 @@ { realtype h = 0, tcur = 0; bool status = 0; - + N_Vector dky = N_VNew_Serial (num); - + N_Vector dkyp = N_VNew_Serial (num); - + ColumnVector yout (num); ColumnVector ypout (num); std::string string = ""; int flag = IDAGetLastStep (mem, &h); - + if (flag != 0) { error ("IDA failed to return last step"); @@ -826,14 +826,14 @@ { error ("IDA failed to return the current time"); } - - realtype tin = + + realtype tin = tcur - h; realtype step = h / refine; - for (octave_idx_type i = 1; i < refine && tin + step * i < tend + for (octave_idx_type i = 1; i < refine && tin + step * i < tend && status == 0; i++) { flag = IDAGetDky (mem, tin + step*i, 0, dky); @@ -847,16 +847,16 @@ error ("IDA failed to interpolate yp"); } cont += 1; - output.resize (cont + 1, num); + output.resize (cont + 1, num); tout.resize (cont + 1); - tout (cont) = tin + step * i; + tout (cont) = tin + step * i; yout = NVecToCol (dky, num); ypout = NVecToCol (dkyp, num); for (octave_idx_type j = 0; j < num; j++) output.elem (cont, j) = yout.elem (j); - + if (haveoutputfcn) status = IDA::outputfun (output_fcn, haveoutputsel, yout, tout (cont), tend, outputsel, ""); @@ -872,7 +872,7 @@ } bool - IDA::outputfun (octave_function *output_fcn, bool haveoutputsel, + IDA::outputfun (octave_function *output_fcn, bool haveoutputsel, const ColumnVector& yout, realtype tsol, realtype tend, ColumnVector& outputsel, std::string flag) @@ -885,23 +885,23 @@ { for (octave_idx_type i = 0; i < outputsel.numel (); i++) ysel (i) = yout (outputsel (i)); - + output (1) = ysel; } else - output (1) = yout; + output (1) = yout; output (2) = flag; if (flag == "init") - { + { ColumnVector toutput (2); toutput (0) = tsol; toutput (1) = tend; output (0) = toutput; - + feval (output_fcn, output, 0); - } + } else if (flag == "") { output (0) = tsol; @@ -920,29 +920,29 @@ void IDA::set_maxstep (realtype maxstep) { - int flag = + int flag = IDASetMaxStep (mem, maxstep); if (flag != 0) { error ("IDA: Max Step not set"); } - } + } void - IDA::set_initialstep (realtype initialstep) + IDA::set_initialstep (realtype initialstep) { int flag = IDASetInitStep (mem, initialstep); if (flag != 0) { - error ("IDA: Initial Step not set"); + error ("IDA: Initial Step not set"); } - } + } void - IDA::set_maxorder (int maxorder) + IDA::set_maxorder (int maxorder) { int flag = IDASetMaxOrd (mem, maxorder); @@ -951,7 +951,7 @@ { error ("IDA: Max Order not set"); } - } + } void IDA::print_stat (void) @@ -973,7 +973,7 @@ if (flag != 0) { error ("IDA failed to return the number of residual evaluations"); - } + } std::cout< do_multi_index_op (1, args); @@ -1022,7 +1022,7 @@ newargs (2) = xdot; octave_value_list tmp; - + try { tmp = ida_jc -> do_multi_index_op (2, newargs); @@ -1047,7 +1047,7 @@ newargs (0) = t; newargs (1) = x; newargs (2) = xdot; - + octave_value_list tmp; try @@ -1061,7 +1061,7 @@ retval = tmp(0).sparse_matrix_value () + cj * tmp(1).sparse_matrix_value (); - + return retval; } @@ -1092,20 +1092,20 @@ const octave_scalar_map &options) { octave_value_list retval; - + // Create object IDA dae (t0, y0, yp0, ida_fcn, ida_user_function); // Set Jacobian bool havejac = options.getfield ("havejac").bool_value (); - + bool havejacsparse = options.getfield ("havejacsparse").bool_value (); - + bool havejacfun = options.getfield ("havejacfun").bool_value (); - + Matrix ida_dfdy, ida_dfdyp, *dfdy, *dfdyp; SparseMatrix ida_spdfdy, ida_spdfdyp, *spdfdy, *spdfdyp; octave_function *ida_jac; @@ -1116,7 +1116,7 @@ if (havejacfun) { ida_jac = options.getfield ("Jacobian").function_value (); - if (havejacsparse) + if (havejacsparse) dae.set_jacobian (ida_jac, ida_sparse_jac); else dae.set_jacobian (ida_jac, ida_dense_jac); @@ -1125,7 +1125,7 @@ { jaccell = options.getfield ("Jacobian").cell_value (); - if (havejacsparse) + if (havejacsparse) { ida_spdfdy = jaccell(0).sparse_matrix_value (); ida_spdfdyp = jaccell(1).sparse_matrix_value (); @@ -1143,57 +1143,57 @@ } } } - + // Initialize IDA dae.initialize (); - - // Set tolerances + + // Set tolerances realtype rel_tol = options.getfield("RelTol").double_value (); - + bool haveabstolvec = options.getfield ("haveabstolvec").bool_value (); - - if (haveabstolvec) + + if (haveabstolvec) { ColumnVector abs_tol = options.getfield("AbsTol").vector_value (); - + dae.set_tolerance (abs_tol, rel_tol); } else { realtype abs_tol = options.getfield("AbsTol").double_value (); - + dae.set_tolerance (abs_tol, rel_tol); } - + //Set max step realtype maxstep = options.getfield("MaxStep").double_value (); - + dae.set_maxstep (maxstep); //Set initial step - if (!(options.getfield("InitialStep").is_empty ())) + if (!(options.getfield("InitialStep").is_empty ())) { realtype initialstep = options.getfield("InitialStep").double_value (); - + dae.set_initialstep (initialstep); } //Set max order FIXME: it doesn't work int maxorder = options.getfield("MaxOrder").int_value (); - - dae.set_maxorder (maxorder); + + dae.set_maxorder (maxorder); //Set Refine const int refine = options.getfield("Refine").int_value (); - + bool haverefine = (refine > 1); @@ -1203,16 +1203,16 @@ // OutputFcn bool haveoutputfunction = options.getfield("haveoutputfunction").bool_value (); - + if (haveoutputfunction) - output_fcn = options.getfield("OutputFcn").function_value (); + output_fcn = options.getfield("OutputFcn").function_value (); // OutputSel bool haveoutputsel = options.getfield("haveoutputselection").bool_value (); - + if (haveoutputsel) - outputsel = options.getfield("OutputSel").vector_value (); + outputsel = options.getfield("OutputSel").vector_value (); octave_function *event_fcn = NULL; @@ -1221,7 +1221,7 @@ options.getfield("haveeventfunction").bool_value (); if (haveeventfunction) - event_fcn = options.getfield("Events").function_value (); + event_fcn = options.getfield("Events").function_value (); // Set up linear solver dae.set_up (); @@ -1231,16 +1231,16 @@ haverefine, haveoutputfunction, output_fcn, haveoutputsel, outputsel, haveeventfunction, event_fcn); - - // Statistics - bool havestats = + + // Statistics + bool havestats = options.getfield("havestats").bool_value (); if (havestats) dae.print_stat (); return retval; - } + } } #endif @@ -1261,8 +1261,8 @@ print_usage (); // Check odefun - octave_function *ida_fcn = NULL; - + octave_function *ida_fcn = NULL; + octave_value f_arg = args(0); if (f_arg.is_function_handle ()) @@ -1273,14 +1273,14 @@ // Check input tspan ColumnVector tspan = args(1).xvector_value ("__ode15__: TRANGE must be a vector of numbers"); - + int numt = tspan.numel (); - + realtype t0 = tspan (0); - if (numt < 2) + if (numt < 2) error ("__ode15__: TRANGE must contain at least 2 elements"); else if (!(tspan.is_sorted ()) || (tspan(0) == tspan(numt - 1))) error ("__ode15__: TRANGE must be strictly monotonic"); @@ -1288,9 +1288,9 @@ // input y0 and yp0 ColumnVector y0 = args(2).xvector_value ("__ode15__: initial state y0 must be a vector"); - + ColumnVector yp0 = - args(3).xvector_value ("__ode15__: initial state yp0 must be a vector"); + args(3).xvector_value ("__ode15__: initial state yp0 must be a vector"); if (y0.numel () != yp0.numel ()) @@ -1301,15 +1301,15 @@ if (! args(4).is_map ()) error ("__ode15__: OPTS argument must be a structure"); - - octave_scalar_map options = + + octave_scalar_map options = args(4).xscalar_map_value ("__ode15__:", "OPTS argument must be a scalar structure"); - + return octave::do_ode15 (ida_fcn, tspan, numt, t0, y0, yp0, options); - + #else diff -r 7b368d85e86c -r 23847979b91e run-octave.in --- a/run-octave.in Fri Dec 16 10:56:23 2016 -0500 +++ b/run-octave.in Fri Dec 16 10:20:35 2016 -0500 @@ -5,17 +5,17 @@ ## Copyright (C) 2006-2016 John W. Eaton ## ## This file is part of Octave. -## +## ## Octave is free software; you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 3 of the License, or ## (at your option) any later version. -## +## ## Octave is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. -## +## ## You should have received a copy of the GNU General Public License ## along with Octave; see the file COPYING. If not, see ## . diff -r 7b368d85e86c -r 23847979b91e scripts/mkdoc.pl --- a/scripts/mkdoc.pl Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/mkdoc.pl Fri Dec 16 10:20:35 2016 -0500 @@ -4,17 +4,17 @@ # Copyright (C) 2012-2016 Rik Wehbring # # This file is part of Octave. -# +# # Octave is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. -# +# # Octave is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with Octave; see the file COPYING. If not, see # . diff -r 7b368d85e86c -r 23847979b91e scripts/ode/decic.m --- a/scripts/ode/decic.m Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/ode/decic.m Fri Dec 16 10:20:35 2016 -0500 @@ -31,7 +31,7 @@ ## and the third is a column vector of unknowns @var{yp}. ## ## @var{t0} is the initial time such that @code{@var{fun}(@var{t0}, -## @var{y0_new}, @var{yp0_new}) = 0}, specified as a scalar. +## @var{y0_new}, @var{yp0_new}) = 0}, specified as a scalar. ## ## @var{y0} is a vector used as initial guess for @var{y}. ## @@ -56,17 +56,17 @@ ## The optional seventh argument @var{options} is a structure array. ## Use @code{odeset} to generate this structure. The relevant options are ## @code{RelTol} and @code{AbsTol} which specify the error thresholds used to -## compute the initial conditions. +## compute the initial conditions. ## ## The function typically returns two outputs. Variable @var{y0_new} is a ## column vector and contains the consistent initial value of y. The ## output @var{yp0_new} is a column vector and contains the consistent initial ## value of yp. ## -## The optional third output @var{resnorm} is the vector of norm of the +## The optional third output @var{resnorm} is the vector of norm of the ## residuals. If @var{resnorm} is small, @code{decic} has successfully computed ## the initial conditions. If the value of @var{resnorm} is large, use -## @code{RelTol} and @code{AbsTol} to adjust it. +## @code{RelTol} and @code{AbsTol} to adjust it. ## ## Example: Compute initial conditions of @nospell{Robetson}'s equations: ## @@ -91,7 +91,7 @@ if (nargin < 6 || nargin > 7 || nargout > 3) print_usage (); endif - + #Check input if (! isa (odefun, "function_handle")) error ("Octave:invalid-input-arg", @@ -104,11 +104,11 @@ endif if (! isnumeric (y0) || ! isvector (y0) || ! isnumeric (fixed_y0) || - ! isvector (fixed_y0) || ! isnumeric (yp0) || ! isvector (yp0)|| + ! isvector (fixed_y0) || ! isnumeric (yp0) || ! isvector (yp0)|| ! isnumeric (fixed_yp0) || ! isvector (fixed_yp0)) error ("Octave:invalid-input-arg", "decic: y0, fixed_y0, yp0 and fixed_yp0 must be numeric vectors"); - + elseif (! isequal (numel (y0), numel (fixed_y0), numel (yp0), numel (fixed_yp0))) error ("Octave:invalid-input-arg", @@ -122,11 +122,11 @@ "decic: fixed_y0 and fixed_yp0 must be boolean vectors"); endif endfor - + n = numel (y0); nl = sum (~fixed_y0); nu = sum (~fixed_yp0); - + if (n - nl - nu > 0) error ("Octave:invalid-input-arg", "decic: you cannot fix more than length(y0) components"); @@ -135,7 +135,7 @@ #Set default value TolFun = 0; TolX = eps; - + #Check AbsTol and RelTol if (nargin == 7) if (! isempty (options.AbsTol)) @@ -143,7 +143,7 @@ error ("Octave:invalid-input-arg", "decic: AbsTol must be a scalar value"); else - TolFun = options.AbsTol; + TolFun = options.AbsTol; endif endif @@ -152,7 +152,7 @@ error ("Octave:invalid-input-arg", "decic: RelTol must be a scalar value"); else - TolX = options.RelTol; + TolX = options.RelTol; endif endif endif @@ -162,14 +162,14 @@ x = fminunc (@(x) objective (x, t0, y0, fixed_y0, yp0, fixed_yp0, nl, nu, odefun), x0, opt); - + y0_new = y0; yp0_new = yp0; - + y0_new(~fixed_y0) = x(1:nl); yp0_new(~fixed_yp0) = x(nl+1:nl+nu); resnrm = odefun (t0, y0_new, yp0_new); - + endfunction function res = objective (x, t0, y0, fixed_y0, yp0, @@ -187,12 +187,12 @@ %!endfunction %!test # Without options -%! ref1 = [1;0;0]; +%! ref1 = [1;0;0]; %! ref2 = [-4e-2; 4e-2; 0]; %! [ynew,ypnew] = decic (@rob,0,[1;0;0],[1;1;0],[23;110;0],[0;0;1]); %! assert ([ynew(1:end), ypnew(1:end)], [ref1(1:end), ref2(1:end)], 1e-10); %!test # With options -%! ref1 = [1;0;0]; +%! ref1 = [1;0;0]; %! ref2 = [-4e-2; 4e-2; 0]; %! opt = odeset ("AbsTol", 1e-8, "RelTol", 1e-4); %! [ynew,ypnew] = decic (@rob,0,[1;0;0],[1;1;0],[23;110;0],[0;0;1],opt); diff -r 7b368d85e86c -r 23847979b91e scripts/ode/ode15i.m --- a/scripts/ode/ode15i.m Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/ode/ode15i.m Fri Dec 16 10:20:35 2016 -0500 @@ -22,7 +22,7 @@ ## @deftypefnx {} {[@var{t}, @var{y}, @var{te}, @var{ye}, @var{ie}] =} ode15i (@dots{}) ## @deftypefnx {} {@var{solution} =} ode15i (@dots{}) ## -## Solve a set of full-implicit Ordinary Differential Equations and +## Solve a set of full-implicit Ordinary Differential Equations and ## Differential Algebraic Equations (DAEs) of index 1, with the variable-step, ## variable order BDF (Backward Differentiation Formula) method, which ## ranges from order 1 to 5. @@ -31,7 +31,7 @@ ## name of the function that defines the ODE: @code{f(@var{t},@var{y},@var{yp})}. ## The function must accept three inputs where the first is time @var{t}, the ## second is a column vector of unknowns @var{y} and the third is a column -## vector of unknowns @var{yp}. +## vector of unknowns @var{yp}. ## ## @var{trange} specifies the time interval over which the ODE will be ## evaluated. Typically, it is a two-element vector specifying the initial and @@ -92,14 +92,14 @@ function varargout = ode15i (fun, trange, y0, yp0, varargin) - solver = 'ode15i'; - + solver = 'ode15i'; + if (nargin < 4) print_usage (); endif - + n = numel (y0); - + if (nargin > 4) options = varargin{1}; else @@ -108,7 +108,7 @@ ## Check fun, trange, y0, yp0 fun = check_default_input (fun, trange, solver, y0, yp0); - + if (! isempty (options.Jacobian)) if (ischar (options.Jacobian)) try @@ -157,7 +157,7 @@ persistent ignorefields = {"NonNegative", "Mass", ... "MStateDependence", "MvPattern", ... "MassSingular", "InitialSlope", "BDF"}; - + defaults = rmfield (defaults, ignorefields); classes = rmfield (classes, ignorefields); attributes = rmfield (attributes, ignorefields); @@ -177,7 +177,7 @@ if (! isempty (options.Jacobian)) options.havejac = true; - if (iscell (options.Jacobian)) + if (iscell (options.Jacobian)) if (numel (options.Jacobian) == 2) if (issparse (options.Jacobian{1}) && issparse (options.Jacobian{2})) ## Jac is sparse cell options.havejacsparse = true; @@ -197,7 +197,7 @@ [solver ": invalid value assigned to field '%s'"], "Jacobian"); endif - elseif (isa (options.Jacobian, "function_handle")) + elseif (isa (options.Jacobian, "function_handle")) options.havejacfun = true; if (nargin (options.Jacobian) == 3) [A, B] = options.Jacobian (trange(1), y0, yp0); @@ -220,7 +220,7 @@ [solver ": invalid value assigned to field '%s'"], "Jacobian"); endif endif - + ## Abstol and Reltol options.haveabstolvec = false; @@ -228,15 +228,15 @@ if (numel (options.AbsTol) != 1 && numel (options.AbsTol) != n) error ("Octave:invalid-input-arg", [solver ": invalid value assigned to field '%s'"], "AbsTol"); - + elseif (numel (options.AbsTol) == n) options.haveabstolvec = true; endif ## Stats - options.havestats = false; + options.havestats = false; if (strcmp (options.Stats, "on")) - options.havestats = true; + options.havestats = true; endif ## Don't use Refine when the output is a structure @@ -251,7 +251,7 @@ else options.haveoutputfunction = ! isempty (options.OutputFcn); endif - + options.haveoutputselection = ! isempty (options.OutputSel); if (options.haveoutputselection) options.OutputSel = options.OutputSel - 1; @@ -262,7 +262,7 @@ [t, y, te, ye, ie] = __ode15__ (fun, trange, y0, yp0, options); - + if (nargout == 2) varargout{1} = t; @@ -270,7 +270,7 @@ elseif (nargout == 1) varargout{1}.x = t; # Time stamps are saved in field x varargout{1}.y = y; # Results are saved in field y - varargout{1}.solver = solver; + varargout{1}.solver = solver; if (options.haveeventfunction) varargout{1}.xe = te; # Time info when an event occurred varargout{1}.ye = ye; # Results when an event occurred @@ -289,8 +289,8 @@ endfunction -%!demo -%! +%!demo +%! %! ##Solve Robertson's equations with ode15i %! fun = @ (t, y, yp) [-(yp(1) + 0.04*y(1) - 1e4*y(2)*y(3)); %! -(yp(2) - 0.04*y(1) + 1e4*y(2)*y(3) + 3e7*y(2)^2); @@ -300,7 +300,7 @@ %! y0 = [1; 0; 0]; %! yp0 = [-1e-4; 1e-4; 0]; %! tspan = [0 4*logspace(-6, 6)]; -%! +%! %! [t, y] = ode15i (fun, tspan, y0, yp0, opt); %! %! y (:,2) = 1e4 * y (:, 2); @@ -331,7 +331,7 @@ %! 1, 1, 1]; %! DFDYP = [-1, 0, 0; %! 0, -1, 0; -%! 0, 0, 0]; +%! 0, 0, 0]; %!endfunction %! %!function [DFDY, DFDYP] = jacfunsparse(t, y, yp) @@ -340,7 +340,7 @@ %! 1, 1, 1]); %! DFDYP = sparse ([-1, 0, 0; %! 0, -1, 0; -%! 0, 0, 0]); +%! 0, 0, 0]); %!endfunction %!function [DFDY, DFDYP] = jacwrong(t, y, yp) %! DFDY = [-0.04, 1e4*y(3); @@ -355,7 +355,7 @@ %! DFDYP = [-1, 0, 0; %! 0, -1, 0; %! 0, 0, 0]; -%! A = DFDY; +%! A = DFDY; %!endfunction %!function [val, isterminal, direction] = ff (t, y, yp) %! isterminal = [0 1]; @@ -364,7 +364,7 @@ %! else %! val = [1 3]; %! endif -%! +%! %! direction = [1 0]; %!endfunction @@ -387,7 +387,7 @@ %! [t, y] = ode15i (@rob,[0 1e6 2e6 3e6 4e6], [1;0;0], [-1e-4;1e-4;0], opt); %! assert ([t(end), y(end,:)], fref2, 1e-3); %! opt = odeset(); -%!test # Without options +%!test # Without options %! [t, y] = ode15i (@rob,[0 1e6 2e6 3e6 4e6], [1;0;0], [-1e-4;1e-4;0]); %! assert ([t(end), y(end,:)], fref2, 1e-3); %!test # InitialStep option @@ -471,7 +471,7 @@ %!test # Events option, five output arguments %! opt = odeset ("Events", @ff); %! [t, y, te, ye, ie] = ode15i (@rob,[0 100], [1;0;0], [-1e-4;1e-4;0], opt); -%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.2, 0.2, 0, 0]); +%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.2, 0.2, 0, 0]); %!error # Jacobian fun wrong dimension %! opt = odeset ("Jacobian", @jacwrong); @@ -505,7 +505,7 @@ %!error # Jacobian strange field %! opt = odeset ("Jacobian", "foo"); %! [t, y] = ode15i (@rob,[0 4e6], [1;0;0], [-1e-4;1e-4;0], opt); -%!function ydot = fun (t, y, yp) +%!function ydot = fun (t, y, yp) %! ydot = [y - yp]; %!endfunction %!error ode15i (); diff -r 7b368d85e86c -r 23847979b91e scripts/ode/ode15s.m --- a/scripts/ode/ode15s.m Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/ode/ode15s.m Fri Dec 16 10:20:35 2016 -0500 @@ -85,17 +85,17 @@ function varargout = ode15s (fun, trange, y0, varargin) - solver = 'ode15s'; - + solver = 'ode15s'; + if (nargin < 3) print_usage (); endif - + ## Check fun, trange, y0, yp0 fun = check_default_input (fun, trange, solver, y0); - + n = numel (y0); - + if (nargin > 3) options = varargin{1}; else @@ -114,7 +114,7 @@ [solver ": invalid value assigned to field '%s'"], "Mass"); endif endif - endif + endif if (! isempty (options.Jacobian)) if (ischar (options.Jacobian)) @@ -177,7 +177,7 @@ options.havemasssparse = false; if (! isempty (options.Mass)) - if (isa (options.Mass, "function_handle")) + if (isa (options.Mass, "function_handle")) options.havemassfun = true; if (nargin (options.Mass) == 2) options.havestatedep = true; @@ -206,7 +206,7 @@ error ("Octave:invalid-input-arg", [solver ": invalid value assigned to field '%s'"], "Mass"); endif - else + else error ("Octave:invalid-input-arg", [solver ": invalid value assigned to field '%s'"], "Mass"); endif @@ -220,7 +220,7 @@ if (! isempty (options.Jacobian)) options.havejac = true; - if (isa (options.Jacobian, "function_handle")) + if (isa (options.Jacobian, "function_handle")) options.havejacfun = true; if (nargin (options.Jacobian) == 2) [A] = options.Jacobian (trange(1), y0); @@ -262,13 +262,13 @@ " to provide a constant or time-dependent Jacobian"]); endif endif - + ## Use sparse methods only if all matrices are sparse if (! options.havemasssparse) - options.havejacsparse = false; - endif - - ## If Mass or Jacobian is fun, then new Jacobian is fun + options.havejacsparse = false; + endif + + ## If Mass or Jacobian is fun, then new Jacobian is fun if (options.havejac) if (options.havejacfun || options.havetimedep) options.Jacobian = @ (t, y, yp) wrapjacfun (t, y, yp, @@ -279,7 +279,7 @@ options.havejacfun = true; else ## All matrices are constant options.Jacobian = {[- options.Jacobian], [options.Mass]}; - + endif endif @@ -292,15 +292,15 @@ if (numel (options.AbsTol) != 1 && numel (options.AbsTol) != n) error ("Octave:invalid-input-arg", [solver ": invalid value assigned to field '%s'"], "AbsTol"); - + elseif (numel (options.AbsTol) == n) options.haveabstolvec = true; endif ## Stats - options.havestats = false; + options.havestats = false; if (strcmp (options.Stats, "on")) - options.havestats = true; + options.havestats = true; endif ## Don't use Refine when the output is a structure @@ -315,7 +315,7 @@ else options.haveoutputfunction = ! isempty (options.OutputFcn); endif - + options.haveoutputselection = ! isempty (options.OutputSel); if (options.haveoutputselection) options.OutputSel = options.OutputSel - 1; @@ -339,7 +339,7 @@ elseif (nargout == 1) varargout{1}.x = t; # Time stamps are saved in field x varargout{1}.y = y; # Results are saved in field y - varargout{1}.solver = solver; + varargout{1}.solver = solver; if (options.haveeventfunction) varargout{1}.xe = te; # Time info when an event occurred varargout{1}.ye = ye; # Results when an event occurred @@ -360,7 +360,7 @@ function res = wrap (t, y, yp, Mass, havetimedep, havestatedep, fun) - if (! isempty (Mass) && havestatedep) + if (! isempty (Mass) && havestatedep) res = Mass (t, y) * yp - fun (t, y); elseif (! isempty (Mass) && havetimedep) res = Mass (t) * yp - fun (t, y); @@ -373,27 +373,27 @@ endfunction function [jac, jact] = wrapjacfun (t, y, yp, Jac, Mass, - havetimedep, havejacfun) + havetimedep, havejacfun) if (havejacfun) jac = - Jac (t, y); else jac = - Jac; endif - if (! isempty (Mass) && havetimedep) + if (! isempty (Mass) && havetimedep) jact = Mass (t); elseif (! isempty (Mass)) jact = Mass; else jact = speye (numel (y)); endif - + endfunction %!demo -%! -%! ##Solve Robertson's equations with ode15s +%! +%! ##Solve Robertson's equations with ode15s %! fun = @ (t, y) [-0.04*y(1) + 1e4*y(2).*y(3); %! 0.04*y(1) - 1e4*y(2).*y(3) - 3e7*y(2).^2; %! y(1) + y(2) + y(3) - 1 ]; @@ -401,7 +401,7 @@ %! y0 = [1; 0; 0]; %! tspan = [0 4*logspace(-6, 6)]; %! M = [1 0 0; 0 1 0; 0 0 0]; -%! +%! %! options = odeset ('RelTol', 1e-4, 'AbsTol', [1e-6 1e-10 1e-6], %! 'MStateDependence', 'none', 'Mass', M); %! @@ -449,20 +449,20 @@ %! else %! val = [1 3]; %! endif -%! +%! %! direction = [1 0]; %!endfunction %!function masrob = massdensefunstate (t, y) -%! masrob = [1 0 0; 0 1 0; 0 0 0]; +%! masrob = [1 0 0; 0 1 0; 0 0 0]; %!endfunction %!function masrob = masssparsefunstate (t, y) -%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]); +%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]); %!endfunction %!function masrob = massdensefuntime (t) -%! masrob = [1 0 0; 0 1 0; 0 0 0]; +%! masrob = [1 0 0; 0 1 0; 0 0 0]; %!endfunction %!function masrob = masssparsefuntime (t) -%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]); +%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]); %!endfunction %!function jac = jacfundense (t, y) %! jac = [-0.04, 1e4*y(3), 1e4*y(2); @@ -478,101 +478,101 @@ %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", [1 0 0; 0 1 0; 0 0 0]); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", sparse([1 0 0; 0 1 0; 0 0 0])); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @massdensefunstate); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @masssparsefunstate); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", 'massdensefuntime'); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); -%! assert ([t(end), y(end,:)], frefrob, 1e-3); -%!test -%! opt = odeset ("MStateDependence", "none", +%! assert ([t(end), y(end,:)], frefrob, 1e-3); +%!test +%! opt = odeset ("MStateDependence", "none", %! "Mass", [1 0 0; 0 1 0; 0 0 0], %! "Jacobian", 'jacfundense'); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", sparse([1 0 0; 0 1 0; 0 0 0]), -%! "Jacobian", @jacfundense); +%! "Jacobian", @jacfundense); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); -%!test +%!test %! warning ("off", "ode15s:mass_state_dependent_provided", "local"); -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @massdensefunstate, %! "Jacobian", @jacfundense); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test %! warning ("off", "ode15s:mass_state_dependent_provided", "local"); -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @masssparsefunstate, %! "Jacobian", @jacfundense); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @massdensefuntime, %! "Jacobian", @jacfundense); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); -%! assert ([t(end), y(end,:)], frefrob, 1e-3); -%! opt = odeset ("MStateDependence", "none", +%! assert ([t(end), y(end,:)], frefrob, 1e-3); +%! opt = odeset ("MStateDependence", "none", %! "Mass", 'masssparsefuntime', %! "Jacobian", 'jacfundense'); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); -%! assert ([t(end), y(end,:)], frefrob, 1e-3); -%!test -%! opt = odeset ("MStateDependence", "none", +%! assert ([t(end), y(end,:)], frefrob, 1e-3); +%!test +%! opt = odeset ("MStateDependence", "none", %! "Mass", [1 0 0; 0 1 0; 0 0 0], %! "Jacobian", @jacfunsparse); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", sparse([1 0 0; 0 1 0; 0 0 0]), -%! "Jacobian", @jacfunsparse); +%! "Jacobian", @jacfunsparse); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); -%! assert ([t(end), y(end,:)], frefrob, 1e-3); -%!test +%! assert ([t(end), y(end,:)], frefrob, 1e-3); +%!test %! warning ("off", "ode15s:mass_state_dependent_provided", "local"); -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @massdensefunstate, %! "Jacobian", @jacfunsparse); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test %! warning ("off", "ode15s:mass_state_dependent_provided", "local"); -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @masssparsefunstate, %! "Jacobian", @jacfunsparse); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); %! assert ([t(end), y(end,:)], frefrob, 1e-3); %!test -%! opt = odeset ("MStateDependence", "none", +%! opt = odeset ("MStateDependence", "none", %! "Mass", @massdensefuntime, -%! "Jacobian", @jacfunsparse); +%! "Jacobian", @jacfunsparse); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); -%! assert ([t(end), y(end,:)], frefrob, 1e-3); -%!test -%! opt = odeset ("MStateDependence", "none", +%! assert ([t(end), y(end,:)], frefrob, 1e-3); +%!test +%! opt = odeset ("MStateDependence", "none", %! "Mass", @masssparsefuntime, %! "Jacobian", @jacfunsparse); %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt); @@ -673,7 +673,7 @@ %! opt = odeset ("Events", @feve, "Mass", @massdensefunstate, %! "MStateDependence", "none"); %! [t, y, te, ye, ie] = ode15s (@rob,[0 100], [1;0;0], opt); -%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.5, 0.5, 0, 0]); +%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.5, 0.5, 0, 0]); @@ -682,4 +682,3 @@ - diff -r 7b368d85e86c -r 23847979b91e scripts/ode/private/check_default_input.m --- a/scripts/ode/private/check_default_input.m Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/ode/private/check_default_input.m Fri Dec 16 10:20:35 2016 -0500 @@ -37,10 +37,10 @@ error ("Octave:invalid-input-arg", [solver ": invalid value assigned to field '%s'"], "fun"); endif - - ## Check trange + + ## Check trange validateattributes (trange, {"float"}, {"vector", "real"}, solver, "trange"); - + if (numel (trange) < 2) error ("Octave:invalid-input-arg", [solver ": invalid value assigned to field '%s'"], "trange"); @@ -61,5 +61,5 @@ endif validateattributes (y0, {"float"}, {"numel", n}, solver, "y0"); - + endfunction diff -r 7b368d85e86c -r 23847979b91e scripts/plot/draw/isonormals.m --- a/scripts/plot/draw/isonormals.m Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/plot/draw/isonormals.m Fri Dec 16 10:20:35 2016 -0500 @@ -195,7 +195,7 @@ %!error isonormals (1, {1}) %!error isonormals (1, [1 2 3 4]) %!error isonormals (x, y, z, val, x) -## Test validation of private function __interp_cube__ +## Test validation of private function __interp_cube__ %!error isonormals ({x}, y, z, val, vert) %!error isonormals (x, {y}, z, val, vert) %!error isonormals (x, y, {z}, val, vert) diff -r 7b368d85e86c -r 23847979b91e scripts/plot/draw/private/__ezplot__.m --- a/scripts/plot/draw/private/__ezplot__.m Fri Dec 16 10:56:23 2016 -0500 +++ b/scripts/plot/draw/private/__ezplot__.m Fri Dec 16 10:20:35 2016 -0500 @@ -504,7 +504,7 @@ endif ## Handle exceptional case of constant function - if (domain(3) == domain(4)) + if (domain(3) == domain(4)) domain(3) -= 1; domain(4) += 1; endif