Mercurial > hg > octave-lyh
diff scripts/general/quadgk.m @ 7795:df9519e9990c
Handle single precision eps values
author | David Bateman <dbateman@free.fr> |
---|---|
date | Mon, 12 May 2008 22:57:11 +0200 |
parents | 680631e787aa |
children | 23c248d415b5 |
line wrap: on
line diff
--- a/scripts/general/quadgk.m +++ b/scripts/general/quadgk.m @@ -291,12 +291,18 @@ q0 = sum (q_subs); err0 = sum (q_errs); + if (isa (a, "single") || isa (b, "single") || isa (waypoints, "single")) + myeps = eps ("single"); + else + myeps = eps; + endif + first = true; while (true) ## Check for sub-intervals that are too small. Test must be ## performed in untransformed sub-intervals. What is a good ## value for this test. Shampine suggests 100*eps - if (any (diff (trans (subs), [], 2) / (b - a) < 100 * eps)) + if (any (diff (trans (subs), [], 2) / (b - a) < 100 * myeps)) q = q0; err = err0; break;