Mercurial > octave
comparison liboctave/LSODE.cc @ 3959:5a848097fe4a
[project @ 2002-05-24 17:58:16 by jwe]
author | jwe |
---|---|
date | Fri, 24 May 2002 17:58:17 +0000 |
parents | dc970f5941ee |
children | ee0304212be0 |
comparison
equal
deleted
inserted
replaced
3958:b88e01ad515e | 3959:5a848097fe4a |
---|---|
314 case -5: // repeated convergence failures (perhaps bad jacobian | 314 case -5: // repeated convergence failures (perhaps bad jacobian |
315 // supplied or wrong choice of mf or tolerances). | 315 // supplied or wrong choice of mf or tolerances). |
316 case -4: // repeated error test failures (check all inputs). | 316 case -4: // repeated error test failures (check all inputs). |
317 case -3: // illegal input detected (see printed message). | 317 case -3: // illegal input detected (see printed message). |
318 case -2: // excess accuracy requested (tolerances too small). | 318 case -2: // excess accuracy requested (tolerances too small). |
319 integration_error = 1; | |
320 break; | |
321 | |
322 case -1: // excess work done on this call (perhaps wrong mf). | 319 case -1: // excess work done on this call (perhaps wrong mf). |
323 (*current_liboctave_error_handler) | |
324 ("giving up after more than %d steps attempted in lsode", | |
325 step_limit ()); | |
326 integration_error = 1; | 320 integration_error = 1; |
327 break; | 321 break; |
328 | 322 |
329 case 2: // lsode was successful | 323 case 2: // lsode was successful |
330 retval = x; | 324 retval = x; |
334 default: // Error? | 328 default: // Error? |
335 (*current_liboctave_error_handler) | 329 (*current_liboctave_error_handler) |
336 ("unrecognized value of istate returned from lsode"); | 330 ("unrecognized value of istate returned from lsode"); |
337 break; | 331 break; |
338 } | 332 } |
333 } | |
334 | |
335 return retval; | |
336 } | |
337 | |
338 std::string | |
339 LSODE::error_message (void) const | |
340 { | |
341 std::string retval; | |
342 | |
343 switch (istate) | |
344 { | |
345 case -13: | |
346 retval = "return requested in user-supplied function"; | |
347 break; | |
348 | |
349 case -6: | |
350 retval = "Error weight became zero during problem.\ | |
351 (solution component i vanished, and atol or atol(i) == 0)"; | |
352 break; | |
353 | |
354 case -5: | |
355 retval = "repeated convergence failures (perhaps bad jacobian\ | |
356 supplied or wrong choice of integration method or tolerances)"; | |
357 break; | |
358 | |
359 case -4: | |
360 retval = "repeated error test failures (check all inputs)"; | |
361 break; | |
362 | |
363 case -3: | |
364 retval = "invalid input detected (see printed message)"; | |
365 break; | |
366 | |
367 case -2: | |
368 retval = "excess accuracy requested (tolerances too small)"; | |
369 break; | |
370 | |
371 case -1: | |
372 retval = "excess work on this call (perhaps wrong integration method)"; | |
373 break; | |
374 | |
375 case 1: | |
376 retval = "prior to initial call"; | |
377 break; | |
378 | |
379 case 2: | |
380 retval = "successful exit"; | |
381 break; | |
382 | |
383 case 3: | |
384 retval = "prior to continuation call with modified parameters"; | |
385 break; | |
386 | |
387 default: | |
388 retval = "unknown error state"; | |
389 break; | |
339 } | 390 } |
340 | 391 |
341 return retval; | 392 return retval; |
342 } | 393 } |
343 | 394 |