Additional-gslint-notes.html 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <html lang="en">
  2. <head>
  3. <title>Additional gslint notes - avram - a virtual machine code interpreter</title>
  4. <meta http-equiv="Content-Type" content="text/html">
  5. <meta name="description" content="avram - a virtual machine code interpreter">
  6. <meta name="generator" content="makeinfo 4.13">
  7. <link title="Top" rel="start" href="index.html#Top">
  8. <link rel="up" href="gslint.html#gslint" title="gslint">
  9. <link rel="prev" href="gslint-exceptions.html#gslint-exceptions" title="gslint exceptions">
  10. <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
  11. <meta http-equiv="Content-Style-Type" content="text/css">
  12. <style type="text/css"><!--
  13. pre.display { font-family:inherit }
  14. pre.format { font-family:inherit }
  15. pre.smalldisplay { font-family:inherit; font-size:smaller }
  16. pre.smallformat { font-family:inherit; font-size:smaller }
  17. pre.smallexample { font-size:smaller }
  18. pre.smalllisp { font-size:smaller }
  19. span.sc { font-variant:small-caps }
  20. span.roman { font-family:serif; font-weight:normal; }
  21. span.sansserif { font-family:sans-serif; font-weight:normal; }
  22. --></style>
  23. </head>
  24. <body>
  25. <div class="node">
  26. <a name="Additional-gslint-notes"></a>
  27. <p>
  28. Previous:&nbsp;<a rel="previous" accesskey="p" href="gslint-exceptions.html#gslint-exceptions">gslint exceptions</a>,
  29. Up:&nbsp;<a rel="up" accesskey="u" href="gslint.html#gslint">gslint</a>
  30. <hr>
  31. </div>
  32. <h4 class="subsection">D.7.4 Additional <code>gslint</code> notes</h4>
  33. <p>The <code>qagx</code>* functions subsume the GSL variants <code>qags</code>,
  34. <code>qagiu</code>, <code>qagil</code>, and <code>qagi</code> for finite, semi-infinite,
  35. and infinite intervals, which are seleted as appropriate based on the
  36. <a name="index-improper-integrals-733"></a>limits of integration <var>a</var> and <var>b</var>.
  37. <p>The <code>qagp</code> function reverts to the <code>qagx</code> function if there
  38. are only two points given in <var>p</var>. Fewer than two will cause an
  39. error.
  40. <p>The library interface code relies on the standard <code>setjmp</code>
  41. <a name="index-setjmp-734"></a>utility found in the system header file <code>setjmp.h</code> to break out
  42. of integrals that don't converge after excessively many function
  43. evaluations. Non-termination has been an issue in the past with GSL
  44. integration routines for very badly behaved integrands, and the API
  45. provides no documented means for the user supplied integrand function
  46. to request a halt.
  47. <p>Although it is meant to be standard, a host without <code>setjmp</code> will
  48. cause <code>avram</code> to be configured to abort the application with an
  49. error message in the event of non-convergence. This behavior is
  50. considered preferable to the alternative of non-termination. Usually
  51. an effective workaround in such cases is to specify a sufficiently
  52. loose tolerance explicitly by using one of the *<code>_tol</code> library
  53. functions.
  54. </body></html>