Mercurial > hg > octave-nkf
diff liboctave/DASPK.cc @ 7482:29980c6b8604
don't check f77_exception_encountered
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 14 Feb 2008 21:57:50 -0500 |
parents | 2eb392d058bb |
children | eb63fbe60fab |
line wrap: on
line diff
--- a/liboctave/DASPK.cc +++ b/liboctave/DASPK.cc @@ -462,67 +462,59 @@ piwork, liw, dummy, idummy, ddaspk_j, ddaspk_psol)); - if (f77_exception_encountered) - { - integration_error = true; - (*current_liboctave_error_handler) ("unrecoverable error in daspk"); - } - else + switch (istate) { - switch (istate) - { - case 1: // A step was successfully taken in intermediate-output - // mode. The code has not yet reached TOUT. - case 2: // The integration to TSTOP was successfully completed - // (T=TSTOP) by stepping exactly to TSTOP. - case 3: // The integration to TOUT was successfully completed - // (T=TOUT) by stepping past TOUT. Y(*) is obtained by - // interpolation. YPRIME(*) is obtained by interpolation. - case 4: // The initial condition calculation, with - // INFO(11) > 0, was successful, and INFO(14) = 1. - // No integration steps were taken, and the solution - // is not considered to have been started. - retval = x; - t = tout; - break; + case 1: // A step was successfully taken in intermediate-output + // mode. The code has not yet reached TOUT. + case 2: // The integration to TSTOP was successfully completed + // (T=TSTOP) by stepping exactly to TSTOP. + case 3: // The integration to TOUT was successfully completed + // (T=TOUT) by stepping past TOUT. Y(*) is obtained by + // interpolation. YPRIME(*) is obtained by interpolation. + case 4: // The initial condition calculation, with + // INFO(11) > 0, was successful, and INFO(14) = 1. + // No integration steps were taken, and the solution + // is not considered to have been started. + retval = x; + t = tout; + break; - case -1: // A large amount of work has been expended. (~500 steps). - case -2: // The error tolerances are too stringent. - case -3: // The local error test cannot be satisfied because you - // specified a zero component in ATOL and the - // corresponding computed solution component is zero. - // Thus, a pure relative error test is impossible for - // this component. - case -6: // DDASPK had repeated error test failures on the last - // attempted step. - case -7: // The corrector could not converge. - case -8: // The matrix of partial derivatives is singular. - case -9: // The corrector could not converge. There were repeated - // error test failures in this step. - case -10: // The corrector could not converge because IRES was - // equal to minus one. - case -11: // IRES equal to -2 was encountered and control is being - // returned to the calling program. - case -12: // DDASPK failed to compute the initial YPRIME. - case -13: // Unrecoverable error encountered inside user's - // PSOL routine, and control is being returned to - // the calling program. - case -14: // The Krylov linear system solver could not - // achieve convergence. - case -33: // The code has encountered trouble from which it cannot - // recover. A message is printed explaining the trouble - // and control is returned to the calling program. For - // example, this occurs when invalid input is detected. - integration_error = true; - break; + case -1: // A large amount of work has been expended. (~500 steps). + case -2: // The error tolerances are too stringent. + case -3: // The local error test cannot be satisfied because you + // specified a zero component in ATOL and the + // corresponding computed solution component is zero. + // Thus, a pure relative error test is impossible for + // this component. + case -6: // DDASPK had repeated error test failures on the last + // attempted step. + case -7: // The corrector could not converge. + case -8: // The matrix of partial derivatives is singular. + case -9: // The corrector could not converge. There were repeated + // error test failures in this step. + case -10: // The corrector could not converge because IRES was + // equal to minus one. + case -11: // IRES equal to -2 was encountered and control is being + // returned to the calling program. + case -12: // DDASPK failed to compute the initial YPRIME. + case -13: // Unrecoverable error encountered inside user's + // PSOL routine, and control is being returned to + // the calling program. + case -14: // The Krylov linear system solver could not + // achieve convergence. + case -33: // The code has encountered trouble from which it cannot + // recover. A message is printed explaining the trouble + // and control is returned to the calling program. For + // example, this occurs when invalid input is detected. + integration_error = true; + break; - default: - integration_error = true; - (*current_liboctave_error_handler) - ("unrecognized value of istate (= %d) returned from ddaspk", - istate); - break; - } + default: + integration_error = true; + (*current_liboctave_error_handler) + ("unrecognized value of istate (= %d) returned from ddaspk", + istate); + break; } return retval;