Mercurial > hg > octave-jordi
comparison libinterp/corefcn/dasrt.cc @ 20917:6f0bd96f93c0
maint: Use new C++ archetype in more files.
Place input validation first in files.
Move declaration of retval down in function to be closer to point of usage.
Eliminate else clause after if () error.
Use "return ovl()" where it makes sense.
* __dispatch__.cc, __dsearchn__.cc, __ichol__.cc, __lin_interpn__.cc,
balance.cc, betainc.cc, bitfcns.cc, bsxfun.cc, cellfun.cc, colloc.cc, conv2.cc,
daspk.cc, dasrt.cc, dassl.cc, data.cc, debug.cc, dirfns.cc, dlmread.cc, dot.cc,
eig.cc, error.cc, fft.cc, fft2.cc, fftn.cc, file-io.cc, ov-type-conv.h:
Use new C++ archetype in more files.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 16 Dec 2015 15:00:31 -0800 |
parents | c07bee629973 |
children | 48b2ad5ee801 |
comparison
equal
deleted
inserted
replaced
20916:a7051a169cad | 20917:6f0bd96f93c0 |
---|---|
354 You can use the function @code{dasrt_options} to set optional\n\ | 354 You can use the function @code{dasrt_options} to set optional\n\ |
355 parameters for @code{dasrt}.\n\ | 355 parameters for @code{dasrt}.\n\ |
356 @seealso{dasrt_options, daspk, dasrt, lsode}\n\ | 356 @seealso{dasrt_options, daspk, dasrt, lsode}\n\ |
357 @end deftypefn") | 357 @end deftypefn") |
358 { | 358 { |
359 octave_value_list retval (5); | 359 int nargin = args.length (); |
360 | |
361 if (nargin < 4 || nargin > 6) | |
362 print_usage (); | |
360 | 363 |
361 warned_fcn_imaginary = false; | 364 warned_fcn_imaginary = false; |
362 warned_jac_imaginary = false; | 365 warned_jac_imaginary = false; |
363 warned_cf_imaginary = false; | 366 warned_cf_imaginary = false; |
364 | 367 |
368 octave_value_list retval (5); | |
369 | |
365 unwind_protect frame; | 370 unwind_protect frame; |
366 | 371 |
367 frame.protect_var (call_depth); | 372 frame.protect_var (call_depth); |
368 call_depth++; | 373 call_depth++; |
369 | 374 |
370 if (call_depth > 1) | 375 if (call_depth > 1) |
371 DASRT_ABORT1 ("invalid recursive call"); | 376 DASRT_ABORT1 ("invalid recursive call"); |
372 | |
373 int nargin = args.length (); | |
374 | |
375 if (nargin < 4 || nargin > 6) | |
376 print_usage (); | |
377 | 377 |
378 int argp = 0; | 378 int argp = 0; |
379 std::string fcn_name, fname, jac_name, jname; | 379 std::string fcn_name, fname, jac_name, jname; |
380 dasrt_f = 0; | 380 dasrt_f = 0; |
381 dasrt_j = 0; | 381 dasrt_j = 0; |
417 jname.append (jac_name); | 417 jname.append (jac_name); |
418 jname.append (" (x, xdot, t, cj) jac = "); | 418 jname.append (" (x, xdot, t, cj) jac = "); |
419 dasrt_j = extract_function (c(1), "dasrt", jac_name, jname, | 419 dasrt_j = extract_function (c(1), "dasrt", jac_name, jname, |
420 "; endfunction"); | 420 "; endfunction"); |
421 | 421 |
422 if (!dasrt_j) | 422 if (! dasrt_j) |
423 { | 423 { |
424 if (fcn_name.length ()) | 424 if (fcn_name.length ()) |
425 clear_function (fcn_name); | 425 clear_function (fcn_name); |
426 dasrt_f = 0; | 426 dasrt_f = 0; |
427 } | 427 } |
430 } | 430 } |
431 else | 431 else |
432 DASRT_ABORT1 ("incorrect number of elements in cell array"); | 432 DASRT_ABORT1 ("incorrect number of elements in cell array"); |
433 } | 433 } |
434 | 434 |
435 if (!dasrt_f && ! f_arg.is_cell ()) | 435 if (! dasrt_f && ! f_arg.is_cell ()) |
436 { | 436 { |
437 if (f_arg.is_function_handle () || f_arg.is_inline_function ()) | 437 if (f_arg.is_function_handle () || f_arg.is_inline_function ()) |
438 dasrt_f = f_arg.function_value (); | 438 dasrt_f = f_arg.function_value (); |
439 else | 439 else |
440 { | 440 { |