Mercurial > octave-nkf
comparison libinterp/corefcn/dasrt.cc @ 20589:b10432a40432
eliminate more simple uses of error_state
* dasrt.cc, debug.cc, find.cc, gammainc.cc, matrix_type.cc,
ov-usr-fcn.cc, pt-assign.cc, pt-binop.cc:
Eliminate simple uses of error_state.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 05 Oct 2015 20:37:19 -0400 |
parents | 7ac907da9fba |
children |
comparison
equal
deleted
inserted
replaced
20588:4bed806ee3d4 | 20589:b10432a40432 |
---|---|
446 | 446 |
447 case 2: | 447 case 2: |
448 { | 448 { |
449 string_vector tmp = args(0).all_strings (); | 449 string_vector tmp = args(0).all_strings (); |
450 | 450 |
451 if (! error_state) | 451 fcn_name = unique_symbol_name ("__dasrt_fcn__"); |
452 fname = "function y = "; | |
453 fname.append (fcn_name); | |
454 fname.append (" (x, xdot, t) y = "); | |
455 dasrt_f = extract_function (tmp(0), "dasrt", fcn_name, | |
456 fname, "; endfunction"); | |
457 | |
458 if (dasrt_f) | |
452 { | 459 { |
453 fcn_name = unique_symbol_name ("__dasrt_fcn__"); | 460 jac_name = unique_symbol_name ("__dasrt_jac__"); |
454 fname = "function y = "; | 461 jname = "function jac = "; |
455 fname.append (fcn_name); | 462 jname.append (jac_name); |
456 fname.append (" (x, xdot, t) y = "); | 463 jname.append (" (x, xdot, t, cj) jac = "); |
457 dasrt_f = extract_function (tmp(0), "dasrt", fcn_name, | 464 dasrt_j = extract_function (tmp(1), "dasrt", jac_name, |
458 fname, "; endfunction"); | 465 jname, "; endfunction"); |
459 | 466 |
460 if (dasrt_f) | 467 if (! dasrt_j) |
461 { | 468 dasrt_f = 0; |
462 jac_name = unique_symbol_name ("__dasrt_jac__"); | |
463 jname = "function jac = "; | |
464 jname.append (jac_name); | |
465 jname.append (" (x, xdot, t, cj) jac = "); | |
466 dasrt_j = extract_function (tmp(1), "dasrt", jac_name, | |
467 jname, "; endfunction"); | |
468 | |
469 if (! dasrt_j) | |
470 dasrt_f = 0; | |
471 } | |
472 } | 469 } |
473 } | 470 } |
474 break; | 471 break; |
475 | 472 |
476 default: | 473 default: |
558 if (fcn_name.length ()) | 555 if (fcn_name.length ()) |
559 clear_function (fcn_name); | 556 clear_function (fcn_name); |
560 if (jac_name.length ()) | 557 if (jac_name.length ()) |
561 clear_function (jac_name); | 558 clear_function (jac_name); |
562 | 559 |
563 if (! error_state) | 560 std::string msg = dae.error_message (); |
564 { | 561 |
565 std::string msg = dae.error_message (); | 562 retval(4) = msg; |
566 | 563 retval(3) = static_cast<double> (dae.integration_state ()); |
567 retval(4) = msg; | 564 |
568 retval(3) = static_cast<double> (dae.integration_state ()); | 565 if (dae.integration_ok ()) |
569 | 566 { |
570 if (dae.integration_ok ()) | 567 retval(2) = output.times (); |
571 { | 568 retval(1) = output.deriv (); |
572 retval(2) = output.times (); | 569 retval(0) = output.state (); |
573 retval(1) = output.deriv (); | 570 } |
574 retval(0) = output.state (); | 571 else |
575 } | 572 { |
576 else | 573 retval(2) = Matrix (); |
577 { | 574 retval(1) = Matrix (); |
578 retval(2) = Matrix (); | 575 retval(0) = Matrix (); |
579 retval(1) = Matrix (); | 576 |
580 retval(0) = Matrix (); | 577 if (nargout < 4) |
581 | 578 error ("dasrt: %s", msg.c_str ()); |
582 if (nargout < 4) | |
583 error ("dasrt: %s", msg.c_str ()); | |
584 } | |
585 } | 579 } |
586 | 580 |
587 return retval; | 581 return retval; |
588 } | 582 } |