Skip to content

Commit

Permalink
Add Warning section.
Browse files Browse the repository at this point in the history
  • Loading branch information
sletz committed Mar 25, 2024
1 parent d35d173 commit 7b8c204
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 2 deletions.
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -465,5 +465,5 @@ <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>

<!--
MkDocs version : 1.4.3
Build Date UTC : 2024-03-21 19:25:12.178565+00:00
Build Date UTC : 2024-03-25 22:40:15.114814+00:00
-->
6 changes: 6 additions & 0 deletions docs/manual/debugging/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,10 @@
<li class="nav-item" data-level="4"><a href="#the-me-option" class="nav-link">The -me option</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="4"><a href="#warning-messages" class="nav-link">Warning messages</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
Expand Down Expand Up @@ -435,6 +439,8 @@ <h4 id="the-ct-option">The -ct option</h4>
<p>Note that since the signal interval calculation is imperfect, you may see <em>false positives</em>, and uneeded range constraining code might be generated, especially when using recursive signals where the interval calculation system will typically produce <em>[-inf, inf]</em> range, which is not precise enough to correctly describe the real signal range. </p>
<h4 id="the-me-option">The -me option</h4>
<p>Starting with version 2.37.0, mathematical functions which have a finite domain (like <code>sqrt</code> defined for positive or null values, or <code>asin</code> defined for values in the [-1..1] range) are <em>checked at compile time</em> when they <em>actually compute values at that time</em>, and <em>raise an error</em> if the program tries to compute an out-of-domain value. If those functions appear in the generated code, their domain of use can also be checked (using the interval computation system) and the <code>-me</code> option <em>will display warnings</em> if the domain of use is incorrect. Note that again because of the imperfect interval computation system, <em>false positives</em> may appear and should be checked.</p>
<h4 id="warning-messages">Warning messages</h4>
<p>Warning messages do not stop the compilation process, but allow to get usefull informations on potential problematic code. The messages can be printed using the <code>-wall</code> compilation option. Mathematical out-of-domain error warning messages are displayed when both <code>-wall</code> and <code>-me</code> options are used.</p>
<h3 id="debugging-at-runtime">Debugging at runtime</h3>
<h4 id="the-interp-tracer-tool">The interp-tracer tool</h4>
<p>The <strong>interp-tracer</strong> tool runs and instruments the compiled program using the Interpreter backend. Various statistics on the code are collected and displayed while running and/or when closing the application, typically <code>FP_SUBNORMAL</code>, <code>FP_INFINITE</code> and <code>FP_NAN</code> values, or <code>INTEGER_OVERFLOW</code>, <code>CAST_INT_OVERFLOW</code> and <code>DIV_BY_ZERO</code> operations, or <code>LOAD/STORE</code> errors. </p>
Expand Down
2 changes: 1 addition & 1 deletion docs/search/search_index.json

Large diffs are not rendered by default.

Binary file modified docs/sitemap.xml.gz
Binary file not shown.
4 changes: 4 additions & 0 deletions mkdocs/docs/manual/debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ Note that since the signal interval calculation is imperfect, you may see *false

Starting with version 2.37.0, mathematical functions which have a finite domain (like `sqrt` defined for positive or null values, or `asin` defined for values in the [-1..1] range) are *checked at compile time* when they *actually compute values at that time*, and *raise an error* if the program tries to compute an out-of-domain value. If those functions appear in the generated code, their domain of use can also be checked (using the interval computation system) and the `-me` option *will display warnings* if the domain of use is incorrect. Note that again because of the imperfect interval computation system, *false positives* may appear and should be checked.

#### Warning messages

Warning messages do not stop the compilation process, but allow to get usefull informations on potential problematic code. The messages can be printed using the `-wall` compilation option. Mathematical out-of-domain error warning messages are displayed when both `-wall` and `-me` options are used.

### Debugging at runtime

#### The interp-tracer tool
Expand Down

0 comments on commit 7b8c204

Please sign in to comment.