1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>polylib: arithmetic_errors.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>arithmetic_errors.h File Reference</h1><code>#include <setjmp.h></code><br/>
<p><a href="source_2arith_2arithmetic__errors_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#a15a0338e1c704fe0a35195b6ddd5dc45">linear_arithmetic_error_included</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#afb9d6e881bafb0485a90b7c3c7bfe46c">__CURRENT_FUNCTION_NAME__</a> "<unknown>"</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#a8e5fdcdfe948aeed8558f0d81392e941">EXCEPTION</a> extern unsigned int</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#a748af154884693013ee5f03878988dbe">THROW</a>(what) (throw_exception(what, __CURRENT_FUNCTION_NAME__, __FILE__, __LINE__))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#a221261b286628ee622df9588446d503e">CATCH</a>(what)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#a8211465bb59b0e6b8c374b440965dbb4">UNCATCH</a>(what)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#ad2746371528bdf15c3910b7bf217dac0">TRY</a> else</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#ac8d720dd87a0d11d335c873336c65cee">RETHROW</a>() THROW(<a class="el" href="include_2polylib_2arithmetique_8h.html#a9dbd1094abce0128b2995c91d701349d">the_last_just_thrown_exception</a>)</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#aafc39b4cb7a07fefadbdaeb9f8753679">exception_callback_t</a> )(const char *, const char *, int)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="source_2arith_2arithmetic__errors_8h.html#a9dbd1094abce0128b2995c91d701349d">the_last_just_thrown_exception</a></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="afb9d6e881bafb0485a90b7c3c7bfe46c"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::__CURRENT_FUNCTION_NAME__" ref="afb9d6e881bafb0485a90b7c3c7bfe46c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define __CURRENT_FUNCTION_NAME__ "<unknown>"</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00113">113</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
</div>
</div>
<a class="anchor" id="a221261b286628ee622df9588446d503e"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::CATCH" ref="a221261b286628ee622df9588446d503e" args="(what)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CATCH</td>
<td>(</td>
<td class="paramtype">what </td>
<td class="paramname"></td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (setjmp(*<a class="code" href="source_2arith_2arithmetique_8h.html#a6c4868122de3ac9f2dddafc35d583021">push_exception_on_stack</a>(what, <a class="code" href="source_2arith_2arithmetic__errors_8h.html#afb9d6e881bafb0485a90b7c3c7bfe46c">__CURRENT_FUNCTION_NAME__</a>, \
__FILE__, __LINE__)))
</pre></div>
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00122">122</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
<p>Referenced by <a class="el" href="polyhedron_8c_source.html#l02293">AddConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l02661">AddRays()</a>, <a class="el" href="polyhedron_8c_source.html#l03665">align_context()</a>, <a class="el" href="polyhedron_8c_source.html#l02237">BuildSat()</a>, <a class="el" href="polyhedron_8c_source.html#l00386">Chernikova()</a>, <a class="el" href="polyhedron_8c_source.html#l01906">Constraints2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03574">DomainConvex()</a>, <a class="el" href="polyhedron_8c_source.html#l04223">DomainCost()</a>, <a class="el" href="polyhedron_8c_source.html#l04187">DomainImage()</a>, <a class="el" href="polyhedron_8c_source.html#l04061">DomainPreimage()</a>, <a class="el" href="ehrhart_8c_source.html#l02281">Ehrhart_Quick_Apx_Full_Dim()</a>, <a class="el" href="ehrhart_8c_source.html#l01738">Enumerate_NoParameters()</a>, <a class="el" href="polyhedron_8c_source.html#l02902">FindSimple()</a>, <a class="el" href="polyhedron_8c_source.html#l00734">Gauss4()</a>, <a class="el" href="ehrhart_8c_source.html#l01860">Polyhedron_Enumerate()</a>, <a class="el" href="polyhedron_8c_source.html#l04089">Polyhedron_Image()</a>, <a class="el" href="polyhedron_8c_source.html#l04002">Polyhedron_Preimage()</a>, <a class="el" href="polyhedron_8c_source.html#l02083">Rays2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03920">Rays_Mult()</a>, <a class="el" href="polyhedron_8c_source.html#l03959">Rays_Mult_Transpose()</a>, <a class="el" href="polyhedron_8c_source.html#l00859">Remove_Redundants()</a>, <a class="el" href="polyhedron_8c_source.html#l03120">SimplifyConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l03372">Stras_DomainSimplify()</a>, and <a class="el" href="polyhedron_8c_source.html#l02508">SubConstraint()</a>.</p>
</div>
</div>
<a class="anchor" id="a8e5fdcdfe948aeed8558f0d81392e941"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::EXCEPTION" ref="a8e5fdcdfe948aeed8558f0d81392e941" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EXCEPTION extern unsigned int</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00117">117</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
</div>
</div>
<a class="anchor" id="a15a0338e1c704fe0a35195b6ddd5dc45"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::linear_arithmetic_error_included" ref="a15a0338e1c704fe0a35195b6ddd5dc45" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define linear_arithmetic_error_included</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00094">94</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac8d720dd87a0d11d335c873336c65cee"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::RETHROW" ref="ac8d720dd87a0d11d335c873336c65cee" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RETHROW</td>
<td>(</td>
</td>
<td class="paramname"></td>
<td> ) </td>
<td> THROW(<a class="el" href="include_2polylib_2arithmetique_8h.html#a9dbd1094abce0128b2995c91d701349d">the_last_just_thrown_exception</a>)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00133">133</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
<p>Referenced by <a class="el" href="polyhedron_8c_source.html#l02293">AddConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l02661">AddRays()</a>, <a class="el" href="polyhedron_8c_source.html#l03665">align_context()</a>, <a class="el" href="polyhedron_8c_source.html#l02237">BuildSat()</a>, <a class="el" href="polyhedron_8c_source.html#l00386">Chernikova()</a>, <a class="el" href="polyhedron_8c_source.html#l01906">Constraints2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03574">DomainConvex()</a>, <a class="el" href="polyhedron_8c_source.html#l04223">DomainCost()</a>, <a class="el" href="polyhedron_8c_source.html#l04187">DomainImage()</a>, <a class="el" href="polyhedron_8c_source.html#l04061">DomainPreimage()</a>, <a class="el" href="polyhedron_8c_source.html#l02902">FindSimple()</a>, <a class="el" href="polyhedron_8c_source.html#l00734">Gauss4()</a>, <a class="el" href="polyhedron_8c_source.html#l04089">Polyhedron_Image()</a>, <a class="el" href="polyhedron_8c_source.html#l04002">Polyhedron_Preimage()</a>, <a class="el" href="polyhedron_8c_source.html#l02083">Rays2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03920">Rays_Mult()</a>, <a class="el" href="polyhedron_8c_source.html#l03959">Rays_Mult_Transpose()</a>, <a class="el" href="polyhedron_8c_source.html#l00859">Remove_Redundants()</a>, <a class="el" href="polyhedron_8c_source.html#l03120">SimplifyConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l03372">Stras_DomainSimplify()</a>, and <a class="el" href="polyhedron_8c_source.html#l02508">SubConstraint()</a>.</p>
</div>
</div>
<a class="anchor" id="a748af154884693013ee5f03878988dbe"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::THROW" ref="a748af154884693013ee5f03878988dbe" args="(what)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define THROW</td>
<td>(</td>
<td class="paramtype">what </td>
<td class="paramname"></td>
<td> ) </td>
<td> (throw_exception(what, __CURRENT_FUNCTION_NAME__, __FILE__, __LINE__))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00119">119</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad2746371528bdf15c3910b7bf217dac0"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::TRY" ref="ad2746371528bdf15c3910b7bf217dac0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TRY else</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00130">130</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
<p>Referenced by <a class="el" href="polyhedron_8c_source.html#l02293">AddConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l02661">AddRays()</a>, <a class="el" href="polyhedron_8c_source.html#l03665">align_context()</a>, <a class="el" href="polyhedron_8c_source.html#l02237">BuildSat()</a>, <a class="el" href="polyhedron_8c_source.html#l00386">Chernikova()</a>, <a class="el" href="polyhedron_8c_source.html#l01906">Constraints2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03574">DomainConvex()</a>, <a class="el" href="polyhedron_8c_source.html#l04223">DomainCost()</a>, <a class="el" href="polyhedron_8c_source.html#l04187">DomainImage()</a>, <a class="el" href="polyhedron_8c_source.html#l04061">DomainPreimage()</a>, <a class="el" href="ehrhart_8c_source.html#l02281">Ehrhart_Quick_Apx_Full_Dim()</a>, <a class="el" href="ehrhart_8c_source.html#l01738">Enumerate_NoParameters()</a>, <a class="el" href="polyhedron_8c_source.html#l02902">FindSimple()</a>, <a class="el" href="polyhedron_8c_source.html#l00734">Gauss4()</a>, <a class="el" href="ehrhart_8c_source.html#l01860">Polyhedron_Enumerate()</a>, <a class="el" href="polyhedron_8c_source.html#l04089">Polyhedron_Image()</a>, <a class="el" href="polyhedron_8c_source.html#l04002">Polyhedron_Preimage()</a>, <a class="el" href="polyhedron_8c_source.html#l02083">Rays2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03920">Rays_Mult()</a>, <a class="el" href="polyhedron_8c_source.html#l03959">Rays_Mult_Transpose()</a>, <a class="el" href="polyhedron_8c_source.html#l00859">Remove_Redundants()</a>, <a class="el" href="polyhedron_8c_source.html#l03120">SimplifyConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l03372">Stras_DomainSimplify()</a>, and <a class="el" href="polyhedron_8c_source.html#l02508">SubConstraint()</a>.</p>
</div>
</div>
<a class="anchor" id="a8211465bb59b0e6b8c374b440965dbb4"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::UNCATCH" ref="a8211465bb59b0e6b8c374b440965dbb4" args="(what)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UNCATCH</td>
<td>(</td>
<td class="paramtype">what </td>
<td class="paramname"></td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(<a class="code" href="source_2arith_2arithmetique_8h.html#a66795100cf9a30f6cf85a7c67d7c8050">pop_exception_from_stack</a>(what, <a class="code" href="source_2arith_2arithmetic__errors_8h.html#afb9d6e881bafb0485a90b7c3c7bfe46c">__CURRENT_FUNCTION_NAME__</a>, \
__FILE__, __LINE__))
</pre></div>
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00126">126</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
<p>Referenced by <a class="el" href="polyhedron_8c_source.html#l02293">AddConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l02661">AddRays()</a>, <a class="el" href="polyhedron_8c_source.html#l03665">align_context()</a>, <a class="el" href="polyhedron_8c_source.html#l02237">BuildSat()</a>, <a class="el" href="polyhedron_8c_source.html#l00386">Chernikova()</a>, <a class="el" href="polyhedron_8c_source.html#l01906">Constraints2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03574">DomainConvex()</a>, <a class="el" href="polyhedron_8c_source.html#l04223">DomainCost()</a>, <a class="el" href="polyhedron_8c_source.html#l04187">DomainImage()</a>, <a class="el" href="polyhedron_8c_source.html#l04061">DomainPreimage()</a>, <a class="el" href="ehrhart_8c_source.html#l02281">Ehrhart_Quick_Apx_Full_Dim()</a>, <a class="el" href="ehrhart_8c_source.html#l01738">Enumerate_NoParameters()</a>, <a class="el" href="polyhedron_8c_source.html#l02902">FindSimple()</a>, <a class="el" href="polyhedron_8c_source.html#l00734">Gauss4()</a>, <a class="el" href="ehrhart_8c_source.html#l01860">Polyhedron_Enumerate()</a>, <a class="el" href="polyhedron_8c_source.html#l04089">Polyhedron_Image()</a>, <a class="el" href="polyhedron_8c_source.html#l04002">Polyhedron_Preimage()</a>, <a class="el" href="polyhedron_8c_source.html#l02083">Rays2Polyhedron()</a>, <a class="el" href="polyhedron_8c_source.html#l03920">Rays_Mult()</a>, <a class="el" href="polyhedron_8c_source.html#l03959">Rays_Mult_Transpose()</a>, <a class="el" href="polyhedron_8c_source.html#l00859">Remove_Redundants()</a>, <a class="el" href="polyhedron_8c_source.html#l03120">SimplifyConstraints()</a>, <a class="el" href="polyhedron_8c_source.html#l03372">Stras_DomainSimplify()</a>, and <a class="el" href="polyhedron_8c_source.html#l02508">SubConstraint()</a>.</p>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aafc39b4cb7a07fefadbdaeb9f8753679"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::exception_callback_t" ref="aafc39b4cb7a07fefadbdaeb9f8753679" args=")(const char *, const char *, int)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* <a class="el" href="source_2arith_2arithmetic__errors_8h.html#aafc39b4cb7a07fefadbdaeb9f8753679">exception_callback_t</a>)(const char *, const char *, int)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html#l00098">98</a> of file <a class="el" href="source_2arith_2arithmetic__errors_8h_source.html">source/arith/arithmetic_errors.h</a>.</p>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a9dbd1094abce0128b2995c91d701349d"></a><!-- doxytag: member="source/arith/arithmetic_errors.h::the_last_just_thrown_exception" ref="a9dbd1094abce0128b2995c91d701349d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="include_2polylib_2arithmetique_8h.html#a9dbd1094abce0128b2995c91d701349d">the_last_just_thrown_exception</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="errors_8c_source.html#l00156">156</a> of file <a class="el" href="errors_8c_source.html">errors.c</a>.</p>
<p>Referenced by <a class="el" href="errors_8c_source.html#l00285">pop_exception_from_stack()</a>, <a class="el" href="errors_8c_source.html#l00249">push_exception_on_stack()</a>, and <a class="el" href="errors_8c_source.html#l00329">throw_exception()</a>.</p>
</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 25 17:45:26 2009 for polylib by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>
|