svf-tools 1.0.507 → 1.0.508
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +14 -15
- package/SVF-doxygen/html/html/ExeState_8h_source.html +16 -16
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +28 -30
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +33 -33
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +48 -47
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +91 -91
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +13 -12
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +148 -115
- package/SVF-doxygen/html/html/functions_c.html +1 -1
- package/SVF-doxygen/html/html/functions_func_r.html +6 -3
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +10 -6
- package/SVF-doxygen/html/html/functions_r.html +10 -11
- package/SVF-doxygen/html/html/functions_s.html +8 -10
- package/SVF-doxygen/html/html/functions_t.html +10 -8
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_c.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_s.html +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +4 -4
- package/SVF-doxygen/html/html/search/all_11.js +4 -3
- package/SVF-doxygen/html/html/search/all_12.js +6 -6
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_14.js +1 -1
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -0
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +3 -3
- package/include/Util/Z3Expr.h +4 -1
- package/lib/SABER/SaberCondAllocator.cpp +0 -2
- package/lib/Util/ExeState.cpp +0 -1
- package/lib/Util/Z3Expr.cpp +15 -1
- package/package.json +1 -1
|
@@ -125,6 +125,9 @@ Static Public Member Functions</h2></td></tr>
|
|
|
125
125
|
<tr class="memitem:a9da409a05cfd85d966d887b33dd1cc94"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Z3Expr.html#a9da409a05cfd85d966d887b33dd1cc94">releaseContext</a> ()</td></tr>
|
|
126
126
|
<tr class="memdesc:a9da409a05cfd85d966d887b33dd1cc94"><td class="mdescLeft"> </td><td class="mdescRight">release z3 context <a href="#a9da409a05cfd85d966d887b33dd1cc94">More...</a><br /></td></tr>
|
|
127
127
|
<tr class="separator:a9da409a05cfd85d966d887b33dd1cc94"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
|
+
<tr class="memitem:a9cf1997ee2d22542f7288506ed0f4733"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Z3Expr.html#a9cf1997ee2d22542f7288506ed0f4733">releaseSolver</a> ()</td></tr>
|
|
129
|
+
<tr class="memdesc:a9cf1997ee2d22542f7288506ed0f4733"><td class="mdescLeft"> </td><td class="mdescRight">release z3 solver <a href="#a9cf1997ee2d22542f7288506ed0f4733">More...</a><br /></td></tr>
|
|
130
|
+
<tr class="separator:a9cf1997ee2d22542f7288506ed0f4733"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
131
|
<tr class="memitem:a9aa800372d57db519d484cc32ea1c5dc"><td class="memItemLeft" align="right" valign="top">static z3::expr </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">nullExpr</a> ()</td></tr>
|
|
129
132
|
<tr class="memdesc:a9aa800372d57db519d484cc32ea1c5dc"><td class="mdescLeft"> </td><td class="mdescRight">null expression <a href="#a9aa800372d57db519d484cc32ea1c5dc">More...</a><br /></td></tr>
|
|
130
133
|
<tr class="separator:a9aa800372d57db519d484cc32ea1c5dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -152,10 +155,10 @@ Static Public Member Functions</h2></td></tr>
|
|
|
152
155
|
</table><table class="memberdecls">
|
|
153
156
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
|
154
157
|
Static Public Attributes</h2></td></tr>
|
|
155
|
-
<tr class="memitem:
|
|
156
|
-
<tr class="separator:
|
|
157
|
-
<tr class="memitem:
|
|
158
|
-
<tr class="separator:
|
|
158
|
+
<tr class="memitem:af02935097a8db09812781ac8c42d93e5"><td class="memItemLeft" align="right" valign="top">static z3::context * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">ctx</a> = nullptr</td></tr>
|
|
159
|
+
<tr class="separator:af02935097a8db09812781ac8c42d93e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
|
+
<tr class="memitem:a2f0cf6549d9bc6fc1d4be46976ad0f0e"><td class="memItemLeft" align="right" valign="top">static z3::solver * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a> = nullptr</td></tr>
|
|
161
|
+
<tr class="separator:a2f0cf6549d9bc6fc1d4be46976ad0f0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
159
162
|
</table><table class="memberdecls">
|
|
160
163
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
|
161
164
|
Private Member Functions</h2></td></tr>
|
|
@@ -301,7 +304,7 @@ Friends</h2></td></tr>
|
|
|
301
304
|
|
|
302
305
|
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00052">52</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
303
306
|
<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  : <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>(<a class="code" href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">nullExpr</a>())</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
304
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_a9aa800372d57db519d484cc32ea1c5dc"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">SVF::Z3Expr::nullExpr</a></div><div class="ttdeci">static z3::expr nullExpr()</div><div class="ttdoc">null expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
307
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a9aa800372d57db519d484cc32ea1c5dc"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">SVF::Z3Expr::nullExpr</a></div><div class="ttdeci">static z3::expr nullExpr()</div><div class="ttdoc">null expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00098">Z3Expr.h:98</a></div></div>
|
|
305
308
|
</div><!-- fragment -->
|
|
306
309
|
</div>
|
|
307
310
|
</div>
|
|
@@ -359,7 +362,7 @@ Friends</h2></td></tr>
|
|
|
359
362
|
</div><div class="memdoc">
|
|
360
363
|
|
|
361
364
|
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00060">60</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
362
|
-
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  : <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">getContext</a>().int_val(i))</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#
|
|
365
|
+
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  : <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">getContext</a>().int_val(i))</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
|
|
363
366
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
364
367
|
</div><!-- fragment -->
|
|
365
368
|
</div>
|
|
@@ -455,14 +458,14 @@ Friends</h2></td></tr>
|
|
|
455
458
|
|
|
456
459
|
<p>compute AND, used for branch condition </p>
|
|
457
460
|
|
|
458
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
459
|
-
<div class="fragment"><div class="line"><a name="
|
|
460
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_a7cf1481ad29951ca46c1d4418f28c91e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">SVF::Z3Expr::getExprSize</a></div><div class="ttdeci">static u32_t getExprSize(const Z3Expr &z3Expr)</div><div class="ttdoc">get the number of subexpression of a Z3 expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#
|
|
461
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00092">92</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
462
|
+
<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(lhs, <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>()) || <a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(rhs, <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>()))</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(lhs, <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Z3Expr::getTrueCond</a>()))</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> rhs;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(rhs, <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Z3Expr::getTrueCond</a>()))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> lhs;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classSVF_1_1Z3Expr.html#abda8e52003e163cda25d75a4cb520290">Z3Expr</a> expr = lhs && rhs;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// check subexpression size and option limit</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">Z3Expr::getExprSize</a>(expr) > <a class="code" href="classSVF_1_1Options.html#a389c1868083100ad8ebfbf935a85a1e1">Options::MaxZ3Size</a>)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().push();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().add(expr.getExpr());</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  z3::check_result res = <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().check();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().pop();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span> (res != z3::unsat)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> lhs;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> expr;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_abda8e52003e163cda25d75a4cb520290"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#abda8e52003e163cda25d75a4cb520290">SVF::Z3Expr::Z3Expr</a></div><div class="ttdeci">Z3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00052">Z3Expr.h:52</a></div></div>
|
|
463
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a7cf1481ad29951ca46c1d4418f28c91e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">SVF::Z3Expr::getExprSize</a></div><div class="ttdeci">static u32_t getExprSize(const Z3Expr &z3Expr)</div><div class="ttdoc">get the number of subexpression of a Z3 expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00076">Z3Expr.cpp:76</a></div></div>
|
|
461
464
|
<div class="ttc" id="classSVF_1_1Options_html_a389c1868083100ad8ebfbf935a85a1e1"><div class="ttname"><a href="classSVF_1_1Options.html#a389c1868083100ad8ebfbf935a85a1e1">SVF::Options::MaxZ3Size</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxZ3Size</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00221">Options.h:221</a></div></div>
|
|
462
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_af541505af93ccebf57543793658cf495"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">SVF::Z3Expr::getFalseCond</a></div><div class="ttdeci">static Z3Expr getFalseCond()</div><div class="ttdoc">Return the unique false condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
463
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_ac50b99fca5e04e9c0d134e6371797402"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">SVF::Z3Expr::eq</a></div><div class="ttdeci">friend bool eq(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
464
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_a16721e960145864d0835eb95f2ae4681"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">SVF::Z3Expr::getSolver</a></div><div class="ttdeci">static z3::solver & getSolver()</div><div class="ttdoc">Get z3 solver, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#
|
|
465
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_aaa0c9122f34208235a2d830432665752"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">SVF::Z3Expr::getTrueCond</a></div><div class="ttdeci">static Z3Expr getTrueCond()</div><div class="ttdoc">Return the unique true condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
465
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_af541505af93ccebf57543793658cf495"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">SVF::Z3Expr::getFalseCond</a></div><div class="ttdeci">static Z3Expr getFalseCond()</div><div class="ttdoc">Return the unique false condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00288">Z3Expr.h:288</a></div></div>
|
|
466
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_ac50b99fca5e04e9c0d134e6371797402"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">SVF::Z3Expr::eq</a></div><div class="ttdeci">friend bool eq(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00262">Z3Expr.h:262</a></div></div>
|
|
467
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a16721e960145864d0835eb95f2ae4681"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">SVF::Z3Expr::getSolver</a></div><div class="ttdeci">static z3::solver & getSolver()</div><div class="ttdoc">Get z3 solver, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00056">Z3Expr.cpp:56</a></div></div>
|
|
468
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_aaa0c9122f34208235a2d830432665752"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">SVF::Z3Expr::getTrueCond</a></div><div class="ttdeci">static Z3Expr getTrueCond()</div><div class="ttdoc">Return the unique true condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00281">Z3Expr.h:281</a></div></div>
|
|
466
469
|
</div><!-- fragment -->
|
|
467
470
|
</div>
|
|
468
471
|
</div>
|
|
@@ -492,8 +495,8 @@ Friends</h2></td></tr>
|
|
|
492
495
|
|
|
493
496
|
<p>output Z3 expression as a string </p>
|
|
494
497
|
|
|
495
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
496
|
-
<div class="fragment"><div class="line"><a name="
|
|
498
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00168">168</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
499
|
+
<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  std::ostringstream out;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  out << z3Expr.getExpr();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">return</span> out.str();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div></div><!-- fragment -->
|
|
497
500
|
</div>
|
|
498
501
|
</div>
|
|
499
502
|
<a id="aa6c7fee4f418817dfa7458d830303f6e"></a>
|
|
@@ -519,8 +522,8 @@ Friends</h2></td></tr>
|
|
|
519
522
|
</table>
|
|
520
523
|
</div><div class="memdoc">
|
|
521
524
|
|
|
522
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
523
|
-
<div class="fragment"><div class="line"><a name="
|
|
525
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00140">140</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
526
|
+
<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.get_numeral_int();</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
524
527
|
</div><!-- fragment -->
|
|
525
528
|
</div>
|
|
526
529
|
</div>
|
|
@@ -547,8 +550,8 @@ Friends</h2></td></tr>
|
|
|
547
550
|
</table>
|
|
548
551
|
</div><div class="memdoc">
|
|
549
552
|
|
|
550
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
551
|
-
<div class="fragment"><div class="line"><a name="
|
|
553
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00135">135</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
554
|
+
<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.get_numeral_int64();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
552
555
|
</div><!-- fragment -->
|
|
553
556
|
</div>
|
|
554
557
|
</div>
|
|
@@ -575,8 +578,8 @@ Friends</h2></td></tr>
|
|
|
575
578
|
</table>
|
|
576
579
|
</div><div class="memdoc">
|
|
577
580
|
|
|
578
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
579
|
-
<div class="fragment"><div class="line"><a name="
|
|
581
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00267">267</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
582
|
+
<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().get_sort();</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a57c199ba2c3c6a6d44a86e0b1429be55"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">SVF::Z3Expr::getExpr</a></div><div class="ttdeci">const z3::expr & getExpr() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00079">Z3Expr.h:79</a></div></div>
|
|
580
583
|
</div><!-- fragment -->
|
|
581
584
|
</div>
|
|
582
585
|
</div>
|
|
@@ -605,8 +608,8 @@ Friends</h2></td></tr>
|
|
|
605
608
|
|
|
606
609
|
<p>Get z3 context, singleton design here to make sure we only have one context. </p>
|
|
607
610
|
|
|
608
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
609
|
-
<div class="fragment"><div class="line"><a name="
|
|
611
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00066">66</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
612
|
+
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">ctx</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">ctx</a> = <span class="keyword">new</span> z3::context();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">return</span> *<a class="code" href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">ctx</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_af02935097a8db09812781ac8c42d93e5"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">SVF::Z3Expr::ctx</a></div><div class="ttdeci">static z3::context * ctx</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00041">Z3Expr.h:41</a></div></div>
|
|
610
613
|
</div><!-- fragment -->
|
|
611
614
|
</div>
|
|
612
615
|
</div>
|
|
@@ -664,10 +667,10 @@ Friends</h2></td></tr>
|
|
|
664
667
|
|
|
665
668
|
<p>get the number of subexpression of a Z3 expression </p>
|
|
666
669
|
|
|
667
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
668
|
-
<div class="fragment"><div class="line"><a name="
|
|
670
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00076">76</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
671
|
+
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = 1;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> (z3Expr.getExpr().num_args() == 0)</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < z3Expr.getExpr().num_args(); ++i)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1Z3Expr.html#abda8e52003e163cda25d75a4cb520290">Z3Expr</a> expr = z3Expr.getExpr().arg(i);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  res += <a class="code" href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">getExprSize</a>(expr);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div><div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
669
672
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_abda8e52003e163cda25d75a4cb520290"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#abda8e52003e163cda25d75a4cb520290">SVF::Z3Expr::Z3Expr</a></div><div class="ttdeci">Z3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00052">Z3Expr.h:52</a></div></div>
|
|
670
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_a7cf1481ad29951ca46c1d4418f28c91e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">SVF::Z3Expr::getExprSize</a></div><div class="ttdeci">static u32_t getExprSize(const Z3Expr &z3Expr)</div><div class="ttdoc">get the number of subexpression of a Z3 expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#
|
|
673
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a7cf1481ad29951ca46c1d4418f28c91e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">SVF::Z3Expr::getExprSize</a></div><div class="ttdeci">static u32_t getExprSize(const Z3Expr &z3Expr)</div><div class="ttdoc">get the number of subexpression of a Z3 expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00076">Z3Expr.cpp:76</a></div></div>
|
|
671
674
|
</div><!-- fragment -->
|
|
672
675
|
</div>
|
|
673
676
|
</div>
|
|
@@ -696,8 +699,8 @@ Friends</h2></td></tr>
|
|
|
696
699
|
|
|
697
700
|
<p>Return the unique false condition. </p>
|
|
698
701
|
|
|
699
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
700
|
-
<div class="fragment"><div class="line"><a name="
|
|
702
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00288">288</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
703
|
+
<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">getContext</a>().bool_val(<span class="keyword">false</span>);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
|
|
701
704
|
</div><!-- fragment -->
|
|
702
705
|
</div>
|
|
703
706
|
</div>
|
|
@@ -726,9 +729,9 @@ Friends</h2></td></tr>
|
|
|
726
729
|
|
|
727
730
|
<p>Get z3 solver, singleton design here to make sure we only have one context. </p>
|
|
728
731
|
|
|
729
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
730
|
-
<div class="fragment"><div class="line"><a name="
|
|
731
|
-
<div class="ttc" id="
|
|
732
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00056">56</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
733
|
+
<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a> = <span class="keyword">new</span> z3::solver(<a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">getContext</a>());</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">return</span> *<a class="code" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
|
|
734
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a2f0cf6549d9bc6fc1d4be46976ad0f0e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">SVF::Z3Expr::solver</a></div><div class="ttdeci">static z3::solver * solver</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00042">Z3Expr.h:42</a></div></div>
|
|
732
735
|
</div><!-- fragment -->
|
|
733
736
|
</div>
|
|
734
737
|
</div>
|
|
@@ -757,8 +760,8 @@ Friends</h2></td></tr>
|
|
|
757
760
|
|
|
758
761
|
<p>Return the unique true condition. </p>
|
|
759
762
|
|
|
760
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
761
|
-
<div class="fragment"><div class="line"><a name="
|
|
763
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00281">281</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
764
|
+
<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">getContext</a>().bool_val(<span class="keyword">true</span>);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
|
|
762
765
|
</div><!-- fragment -->
|
|
763
766
|
</div>
|
|
764
767
|
</div>
|
|
@@ -788,8 +791,8 @@ Friends</h2></td></tr>
|
|
|
788
791
|
|
|
789
792
|
<p>get hash id </p>
|
|
790
793
|
|
|
791
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
792
|
-
<div class="fragment"><div class="line"><a name="
|
|
794
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00110">110</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
795
|
+
<div class="fragment"><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.hash();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
793
796
|
</div><!-- fragment -->
|
|
794
797
|
</div>
|
|
795
798
|
</div>
|
|
@@ -818,8 +821,8 @@ Friends</h2></td></tr>
|
|
|
818
821
|
|
|
819
822
|
<p>get id </p>
|
|
820
823
|
|
|
821
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
822
|
-
<div class="fragment"><div class="line"><a name="
|
|
824
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00104">104</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
825
|
+
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.id();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
823
826
|
</div><!-- fragment -->
|
|
824
827
|
</div>
|
|
825
828
|
</div>
|
|
@@ -846,8 +849,8 @@ Friends</h2></td></tr>
|
|
|
846
849
|
</table>
|
|
847
850
|
</div><div class="memdoc">
|
|
848
851
|
|
|
849
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
850
|
-
<div class="fragment"><div class="line"><a name="
|
|
852
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00125">125</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
853
|
+
<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.is_bool();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
851
854
|
</div><!-- fragment -->
|
|
852
855
|
</div>
|
|
853
856
|
</div>
|
|
@@ -874,8 +877,8 @@ Friends</h2></td></tr>
|
|
|
874
877
|
</table>
|
|
875
878
|
</div><div class="memdoc">
|
|
876
879
|
|
|
877
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
878
|
-
<div class="fragment"><div class="line"><a name="
|
|
880
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00120">120</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
881
|
+
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.is_numeral();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
879
882
|
</div><!-- fragment -->
|
|
880
883
|
</div>
|
|
881
884
|
</div>
|
|
@@ -905,8 +908,8 @@ Friends</h2></td></tr>
|
|
|
905
908
|
|
|
906
909
|
<p>compute NEG </p>
|
|
907
910
|
|
|
908
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
909
|
-
<div class="fragment"><div class="line"><a name="
|
|
911
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00294">294</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
912
|
+
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> !z3Expr;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div></div><!-- fragment -->
|
|
910
913
|
</div>
|
|
911
914
|
</div>
|
|
912
915
|
<a id="a9aa800372d57db519d484cc32ea1c5dc"></a>
|
|
@@ -934,8 +937,8 @@ Friends</h2></td></tr>
|
|
|
934
937
|
|
|
935
938
|
<p>null expression </p>
|
|
936
939
|
|
|
937
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
938
|
-
<div class="fragment"><div class="line"><a name="
|
|
940
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00098">98</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
941
|
+
<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">getContext</a>().int_const(<span class="stringliteral">"null"</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context & getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
|
|
939
942
|
</div><!-- fragment -->
|
|
940
943
|
</div>
|
|
941
944
|
</div>
|
|
@@ -1004,14 +1007,14 @@ Friends</h2></td></tr>
|
|
|
1004
1007
|
|
|
1005
1008
|
<p>compute OR, used for branch condition </p>
|
|
1006
1009
|
|
|
1007
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
1008
|
-
<div class="fragment"><div class="line"><a name="
|
|
1009
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_a7cf1481ad29951ca46c1d4418f28c91e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">SVF::Z3Expr::getExprSize</a></div><div class="ttdeci">static u32_t getExprSize(const Z3Expr &z3Expr)</div><div class="ttdoc">get the number of subexpression of a Z3 expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#
|
|
1010
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00130">130</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
1011
|
+
<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(lhs, <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Z3Expr::getTrueCond</a>()) || <a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(rhs, <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Z3Expr::getTrueCond</a>()))</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Z3Expr::getTrueCond</a>();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(lhs, <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>()))</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span> rhs;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(rhs, <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>()))</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> lhs;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="classSVF_1_1Z3Expr.html#abda8e52003e163cda25d75a4cb520290">Z3Expr</a> expr = lhs || rhs;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="comment">// check subexpression size and option limit</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">Z3Expr::getExprSize</a>(expr) > <a class="code" href="classSVF_1_1Options.html#a389c1868083100ad8ebfbf935a85a1e1">Options::MaxZ3Size</a>)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().push();</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().add(expr.getExpr());</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  z3::check_result res = <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().check();</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">getSolver</a>().pop();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (res != z3::unsat)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Z3Expr::getTrueCond</a>();</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Z3Expr::getFalseCond</a>();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  }</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> expr;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_abda8e52003e163cda25d75a4cb520290"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#abda8e52003e163cda25d75a4cb520290">SVF::Z3Expr::Z3Expr</a></div><div class="ttdeci">Z3Expr()</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00052">Z3Expr.h:52</a></div></div>
|
|
1012
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a7cf1481ad29951ca46c1d4418f28c91e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7cf1481ad29951ca46c1d4418f28c91e">SVF::Z3Expr::getExprSize</a></div><div class="ttdeci">static u32_t getExprSize(const Z3Expr &z3Expr)</div><div class="ttdoc">get the number of subexpression of a Z3 expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00076">Z3Expr.cpp:76</a></div></div>
|
|
1010
1013
|
<div class="ttc" id="classSVF_1_1Options_html_a389c1868083100ad8ebfbf935a85a1e1"><div class="ttname"><a href="classSVF_1_1Options.html#a389c1868083100ad8ebfbf935a85a1e1">SVF::Options::MaxZ3Size</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxZ3Size</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00221">Options.h:221</a></div></div>
|
|
1011
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_af541505af93ccebf57543793658cf495"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">SVF::Z3Expr::getFalseCond</a></div><div class="ttdeci">static Z3Expr getFalseCond()</div><div class="ttdoc">Return the unique false condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
1012
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_ac50b99fca5e04e9c0d134e6371797402"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">SVF::Z3Expr::eq</a></div><div class="ttdeci">friend bool eq(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
1013
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_a16721e960145864d0835eb95f2ae4681"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">SVF::Z3Expr::getSolver</a></div><div class="ttdeci">static z3::solver & getSolver()</div><div class="ttdoc">Get z3 solver, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#
|
|
1014
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_aaa0c9122f34208235a2d830432665752"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">SVF::Z3Expr::getTrueCond</a></div><div class="ttdeci">static Z3Expr getTrueCond()</div><div class="ttdoc">Return the unique true condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
1014
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_af541505af93ccebf57543793658cf495"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">SVF::Z3Expr::getFalseCond</a></div><div class="ttdeci">static Z3Expr getFalseCond()</div><div class="ttdoc">Return the unique false condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00288">Z3Expr.h:288</a></div></div>
|
|
1015
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_ac50b99fca5e04e9c0d134e6371797402"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">SVF::Z3Expr::eq</a></div><div class="ttdeci">friend bool eq(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00262">Z3Expr.h:262</a></div></div>
|
|
1016
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a16721e960145864d0835eb95f2ae4681"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">SVF::Z3Expr::getSolver</a></div><div class="ttdeci">static z3::solver & getSolver()</div><div class="ttdoc">Get z3 solver, singleton design here to make sure we only have one context. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00056">Z3Expr.cpp:56</a></div></div>
|
|
1017
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_aaa0c9122f34208235a2d830432665752"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">SVF::Z3Expr::getTrueCond</a></div><div class="ttdeci">static Z3Expr getTrueCond()</div><div class="ttdoc">Return the unique true condition. </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00281">Z3Expr.h:281</a></div></div>
|
|
1015
1018
|
</div><!-- fragment -->
|
|
1016
1019
|
</div>
|
|
1017
1020
|
</div>
|
|
@@ -1040,8 +1043,40 @@ Friends</h2></td></tr>
|
|
|
1040
1043
|
|
|
1041
1044
|
<p>release z3 context </p>
|
|
1042
1045
|
|
|
1043
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#
|
|
1044
|
-
<div class="fragment"><div class="line"><a name="
|
|
1046
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00040">40</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
1047
|
+
<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a>)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a9cf1997ee2d22542f7288506ed0f4733">releaseSolver</a>();</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">ctx</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">ctx</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a2f0cf6549d9bc6fc1d4be46976ad0f0e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">SVF::Z3Expr::solver</a></div><div class="ttdeci">static z3::solver * solver</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00042">Z3Expr.h:42</a></div></div>
|
|
1048
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_a9cf1997ee2d22542f7288506ed0f4733"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9cf1997ee2d22542f7288506ed0f4733">SVF::Z3Expr::releaseSolver</a></div><div class="ttdeci">static void releaseSolver()</div><div class="ttdoc">release z3 solver </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00049">Z3Expr.cpp:49</a></div></div>
|
|
1049
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_af02935097a8db09812781ac8c42d93e5"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5">SVF::Z3Expr::ctx</a></div><div class="ttdeci">static z3::context * ctx</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00041">Z3Expr.h:41</a></div></div>
|
|
1050
|
+
</div><!-- fragment -->
|
|
1051
|
+
</div>
|
|
1052
|
+
</div>
|
|
1053
|
+
<a id="a9cf1997ee2d22542f7288506ed0f4733"></a>
|
|
1054
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a9cf1997ee2d22542f7288506ed0f4733">◆ </a></span>releaseSolver()</h2>
|
|
1055
|
+
|
|
1056
|
+
<div class="memitem">
|
|
1057
|
+
<div class="memproto">
|
|
1058
|
+
<table class="mlabels">
|
|
1059
|
+
<tr>
|
|
1060
|
+
<td class="mlabels-left">
|
|
1061
|
+
<table class="memname">
|
|
1062
|
+
<tr>
|
|
1063
|
+
<td class="memname">void SVF::Z3Expr::releaseSolver </td>
|
|
1064
|
+
<td>(</td>
|
|
1065
|
+
<td class="paramname"></td><td>)</td>
|
|
1066
|
+
<td></td>
|
|
1067
|
+
</tr>
|
|
1068
|
+
</table>
|
|
1069
|
+
</td>
|
|
1070
|
+
<td class="mlabels-right">
|
|
1071
|
+
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
1072
|
+
</tr>
|
|
1073
|
+
</table>
|
|
1074
|
+
</div><div class="memdoc">
|
|
1075
|
+
|
|
1076
|
+
<p>release z3 solver </p>
|
|
1077
|
+
|
|
1078
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8cpp_source.html#l00049">49</a> of file <a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a>.</p>
|
|
1079
|
+
<div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">solver</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a2f0cf6549d9bc6fc1d4be46976ad0f0e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e">SVF::Z3Expr::solver</a></div><div class="ttdeci">static z3::solver * solver</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00042">Z3Expr.h:42</a></div></div>
|
|
1045
1080
|
</div><!-- fragment -->
|
|
1046
1081
|
</div>
|
|
1047
1082
|
</div>
|
|
@@ -1068,8 +1103,8 @@ Friends</h2></td></tr>
|
|
|
1068
1103
|
</table>
|
|
1069
1104
|
</div><div class="memdoc">
|
|
1070
1105
|
|
|
1071
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1072
|
-
<div class="fragment"><div class="line"><a name="
|
|
1106
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00130">130</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1107
|
+
<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.simplify();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
1073
1108
|
</div><!-- fragment -->
|
|
1074
1109
|
</div>
|
|
1075
1110
|
</div>
|
|
@@ -1096,8 +1131,8 @@ Friends</h2></td></tr>
|
|
|
1096
1131
|
</table>
|
|
1097
1132
|
</div><div class="memdoc">
|
|
1098
1133
|
|
|
1099
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1100
|
-
<div class="fragment"><div class="line"><a name="
|
|
1134
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00115">115</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1135
|
+
<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.to_string();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
1101
1136
|
</div><!-- fragment -->
|
|
1102
1137
|
</div>
|
|
1103
1138
|
</div>
|
|
@@ -1136,8 +1171,8 @@ Friends</h2></td></tr>
|
|
|
1136
1171
|
</table>
|
|
1137
1172
|
</div><div class="memdoc">
|
|
1138
1173
|
|
|
1139
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1140
|
-
<div class="fragment"><div class="line"><a name="
|
|
1174
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00216">216</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1175
|
+
<div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a5c3347a21592e43e36d421ea5cae6bc9">ashr</a>(lhs.getExpr(), rhs.getExpr());</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a5c3347a21592e43e36d421ea5cae6bc9"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a5c3347a21592e43e36d421ea5cae6bc9">SVF::Z3Expr::ashr</a></div><div class="ttdeci">friend Z3Expr ashr(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00216">Z3Expr.h:216</a></div></div>
|
|
1141
1176
|
</div><!-- fragment -->
|
|
1142
1177
|
</div>
|
|
1143
1178
|
</div>
|
|
@@ -1175,8 +1210,8 @@ Friends</h2></td></tr>
|
|
|
1175
1210
|
</table>
|
|
1176
1211
|
</div><div class="memdoc">
|
|
1177
1212
|
|
|
1178
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1179
|
-
<div class="fragment"><div class="line"><a name="
|
|
1213
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00231">231</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1214
|
+
<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> z3::bv2int(<a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.getExpr(), isSigned);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
1180
1215
|
</div><!-- fragment -->
|
|
1181
1216
|
</div>
|
|
1182
1217
|
</div>
|
|
@@ -1214,8 +1249,8 @@ Friends</h2></td></tr>
|
|
|
1214
1249
|
</table>
|
|
1215
1250
|
</div><div class="memdoc">
|
|
1216
1251
|
|
|
1217
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1218
|
-
<div class="fragment"><div class="line"><a name="
|
|
1252
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00262">262</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1253
|
+
<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">eq</a>(lhs.getExpr(), rhs.getExpr());</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ac50b99fca5e04e9c0d134e6371797402"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ac50b99fca5e04e9c0d134e6371797402">SVF::Z3Expr::eq</a></div><div class="ttdeci">friend bool eq(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00262">Z3Expr.h:262</a></div></div>
|
|
1219
1254
|
</div><!-- fragment -->
|
|
1220
1255
|
</div>
|
|
1221
1256
|
</div>
|
|
@@ -1253,10 +1288,10 @@ Friends</h2></td></tr>
|
|
|
1253
1288
|
</table>
|
|
1254
1289
|
</div><div class="memdoc">
|
|
1255
1290
|
|
|
1256
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1257
|
-
<div class="fragment"><div class="line"><a name="
|
|
1291
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00226">226</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1292
|
+
<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acd9b5e77162c26753085386661b40517">int2bv</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, <a class="code" href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">e</a>.getExpr());</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div><div class="ttc" id="cJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
|
|
1258
1293
|
<div class="ttc" id="classSVF_1_1Z3Expr_html_ae14d9fa0613b196420b90d20cc8df041"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ae14d9fa0613b196420b90d20cc8df041">SVF::Z3Expr::e</a></div><div class="ttdeci">z3::expr e</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00045">Z3Expr.h:45</a></div></div>
|
|
1259
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_acd9b5e77162c26753085386661b40517"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acd9b5e77162c26753085386661b40517">SVF::Z3Expr::int2bv</a></div><div class="ttdeci">friend Z3Expr int2bv(u32_t n, const Z3Expr &e)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
1294
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_acd9b5e77162c26753085386661b40517"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acd9b5e77162c26753085386661b40517">SVF::Z3Expr::int2bv</a></div><div class="ttdeci">friend Z3Expr int2bv(u32_t n, const Z3Expr &e)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00226">Z3Expr.h:226</a></div></div>
|
|
1260
1295
|
</div><!-- fragment -->
|
|
1261
1296
|
</div>
|
|
1262
1297
|
</div>
|
|
@@ -1300,8 +1335,8 @@ Friends</h2></td></tr>
|
|
|
1300
1335
|
</table>
|
|
1301
1336
|
</div><div class="memdoc">
|
|
1302
1337
|
|
|
1303
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1304
|
-
<div class="fragment"><div class="line"><a name="
|
|
1338
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00251">251</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1339
|
+
<div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a93492128e2c619ef9e5b15a7d022bc45">ite</a>(cond.getExpr(), lhs.getExpr(), rhs.getExpr());</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a93492128e2c619ef9e5b15a7d022bc45"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a93492128e2c619ef9e5b15a7d022bc45">SVF::Z3Expr::ite</a></div><div class="ttdeci">friend Z3Expr ite(const Z3Expr &cond, const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00251">Z3Expr.h:251</a></div></div>
|
|
1305
1340
|
</div><!-- fragment -->
|
|
1306
1341
|
</div>
|
|
1307
1342
|
</div>
|
|
@@ -1339,8 +1374,8 @@ Friends</h2></td></tr>
|
|
|
1339
1374
|
</table>
|
|
1340
1375
|
</div><div class="memdoc">
|
|
1341
1376
|
|
|
1342
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1343
|
-
<div class="fragment"><div class="line"><a name="
|
|
1377
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00206">206</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1378
|
+
<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> lhs.getExpr() & rhs.getExpr();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div></div><!-- fragment -->
|
|
1344
1379
|
</div>
|
|
1345
1380
|
</div>
|
|
1346
1381
|
<a id="af8529f1d313f1e702adc76612f9d86ad"></a>
|
|
@@ -1377,8 +1412,8 @@ Friends</h2></td></tr>
|
|
|
1377
1412
|
</table>
|
|
1378
1413
|
</div><div class="memdoc">
|
|
1379
1414
|
|
|
1380
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1381
|
-
<div class="fragment"><div class="line"><a name="
|
|
1415
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00236">236</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1416
|
+
<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> lhs.getExpr() && rhs.getExpr();</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  }</div></div><!-- fragment -->
|
|
1382
1417
|
</div>
|
|
1383
1418
|
</div>
|
|
1384
1419
|
<a id="ac2b4e7b63f15e6780d25107b61f208ca"></a>
|
|
@@ -1405,8 +1440,8 @@ Friends</h2></td></tr>
|
|
|
1405
1440
|
</table>
|
|
1406
1441
|
</div><div class="memdoc">
|
|
1407
1442
|
|
|
1408
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1409
|
-
<div class="fragment"><div class="line"><a name="
|
|
1443
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00246">246</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1444
|
+
<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> !lhs.getExpr();</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div></div><!-- fragment -->
|
|
1410
1445
|
</div>
|
|
1411
1446
|
</div>
|
|
1412
1447
|
<a id="a180b9776e8388839bf321be33b8c0cb3"></a>
|
|
@@ -1443,8 +1478,8 @@ Friends</h2></td></tr>
|
|
|
1443
1478
|
</table>
|
|
1444
1479
|
</div><div class="memdoc">
|
|
1445
1480
|
|
|
1446
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1447
|
-
<div class="fragment"><div class="line"><a name="
|
|
1481
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00151">151</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1482
|
+
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> lhs.getExpr() != rhs.getExpr();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div></div><!-- fragment -->
|
|
1448
1483
|
</div>
|
|
1449
1484
|
</div>
|
|
1450
1485
|
<a id="a2abad89a9cfb36d8b782a099931501ad"></a>
|
|
@@ -1481,8 +1516,8 @@ Friends</h2></td></tr>
|
|
|
1481
1516
|
</table>
|
|
1482
1517
|
</div><div class="memdoc">
|
|
1483
1518
|
|
|
1484
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1485
|
-
<div class="fragment"><div class="line"><a name="
|
|
1519
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00196">196</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1520
|
+
<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> lhs.getExpr() % rhs.getExpr();</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div></div><!-- fragment -->
|
|
1486
1521
|
</div>
|
|
1487
1522
|
</div>
|
|
1488
1523
|
<a id="a6732f9ac81422756d10b5fdd6ffaab3e"></a>
|
|
@@ -1519,8 +1554,8 @@ Friends</h2></td></tr>
|
|
|
1519
1554
|
</table>
|
|
1520
1555
|
</div><div class="memdoc">
|
|
1521
1556
|
|
|
1522
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1523
|
-
<div class="fragment"><div class="line"><a name="
|
|
1557
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00186">186</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1558
|
+
<div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> lhs.getExpr() * rhs.getExpr();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  }</div></div><!-- fragment -->
|
|
1524
1559
|
</div>
|
|
1525
1560
|
</div>
|
|
1526
1561
|
<a id="af86e0c01602b78f64933b06e43a48e06"></a>
|
|
@@ -1557,8 +1592,8 @@ Friends</h2></td></tr>
|
|
|
1557
1592
|
</table>
|
|
1558
1593
|
</div><div class="memdoc">
|
|
1559
1594
|
|
|
1560
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1561
|
-
<div class="fragment"><div class="line"><a name="
|
|
1595
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00176">176</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1596
|
+
<div class="fragment"><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> lhs.getExpr() + rhs.getExpr();</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div></div><!-- fragment -->
|
|
1562
1597
|
</div>
|
|
1563
1598
|
</div>
|
|
1564
1599
|
<a id="aea407969f346ed1692cac584e9d8d265"></a>
|
|
@@ -1595,8 +1630,8 @@ Friends</h2></td></tr>
|
|
|
1595
1630
|
</table>
|
|
1596
1631
|
</div><div class="memdoc">
|
|
1597
1632
|
|
|
1598
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1599
|
-
<div class="fragment"><div class="line"><a name="
|
|
1633
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00181">181</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1634
|
+
<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">return</span> lhs.getExpr() - rhs.getExpr();</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  }</div></div><!-- fragment -->
|
|
1600
1635
|
</div>
|
|
1601
1636
|
</div>
|
|
1602
1637
|
<a id="a978668e0c0cc3b1fd261e02b5d7d96d4"></a>
|
|
@@ -1633,8 +1668,8 @@ Friends</h2></td></tr>
|
|
|
1633
1668
|
</table>
|
|
1634
1669
|
</div><div class="memdoc">
|
|
1635
1670
|
|
|
1636
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1637
|
-
<div class="fragment"><div class="line"><a name="
|
|
1671
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00191">191</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1672
|
+
<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> lhs.getExpr() / rhs.getExpr();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div></div><!-- fragment -->
|
|
1638
1673
|
</div>
|
|
1639
1674
|
</div>
|
|
1640
1675
|
<a id="a9bc83c762453afc4602b1fef8ea8725d"></a>
|
|
@@ -1671,8 +1706,8 @@ Friends</h2></td></tr>
|
|
|
1671
1706
|
</table>
|
|
1672
1707
|
</div><div class="memdoc">
|
|
1673
1708
|
|
|
1674
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1675
|
-
<div class="fragment"><div class="line"><a name="
|
|
1709
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00161">161</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1710
|
+
<div class="fragment"><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> lhs.getExpr() < rhs.getExpr();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div></div><!-- fragment -->
|
|
1676
1711
|
</div>
|
|
1677
1712
|
</div>
|
|
1678
1713
|
<a id="aba8287dde6649b0c039539f71e8a7886"></a>
|
|
@@ -1709,8 +1744,8 @@ Friends</h2></td></tr>
|
|
|
1709
1744
|
</table>
|
|
1710
1745
|
</div><div class="memdoc">
|
|
1711
1746
|
|
|
1712
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1713
|
-
<div class="fragment"><div class="line"><a name="
|
|
1747
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00256">256</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1748
|
+
<div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  out << expr.getExpr();</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> out;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div></div><!-- fragment -->
|
|
1714
1749
|
</div>
|
|
1715
1750
|
</div>
|
|
1716
1751
|
<a id="a979529cf9531d2331d02b5db4b27535f"></a>
|
|
@@ -1747,8 +1782,8 @@ Friends</h2></td></tr>
|
|
|
1747
1782
|
</table>
|
|
1748
1783
|
</div><div class="memdoc">
|
|
1749
1784
|
|
|
1750
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1751
|
-
<div class="fragment"><div class="line"><a name="
|
|
1785
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00166">166</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1786
|
+
<div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span> lhs.getExpr() <= rhs.getExpr();</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div></div><!-- fragment -->
|
|
1752
1787
|
</div>
|
|
1753
1788
|
</div>
|
|
1754
1789
|
<a id="a900309288fa5d43376d80e414f85dc45"></a>
|
|
@@ -1785,8 +1820,8 @@ Friends</h2></td></tr>
|
|
|
1785
1820
|
</table>
|
|
1786
1821
|
</div><div class="memdoc">
|
|
1787
1822
|
|
|
1788
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1789
|
-
<div class="fragment"><div class="line"><a name="
|
|
1823
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00146">146</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1824
|
+
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> lhs.getExpr() == rhs.getExpr();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div></div><!-- fragment -->
|
|
1790
1825
|
</div>
|
|
1791
1826
|
</div>
|
|
1792
1827
|
<a id="a20cbf950bacc51e56c74918af268ed76"></a>
|
|
@@ -1823,8 +1858,8 @@ Friends</h2></td></tr>
|
|
|
1823
1858
|
</table>
|
|
1824
1859
|
</div><div class="memdoc">
|
|
1825
1860
|
|
|
1826
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1827
|
-
<div class="fragment"><div class="line"><a name="
|
|
1861
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00156">156</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1862
|
+
<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> lhs.getExpr() > rhs.getExpr();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div></div><!-- fragment -->
|
|
1828
1863
|
</div>
|
|
1829
1864
|
</div>
|
|
1830
1865
|
<a id="a707735e67c852191e4e2a689a1a84858"></a>
|
|
@@ -1861,8 +1896,8 @@ Friends</h2></td></tr>
|
|
|
1861
1896
|
</table>
|
|
1862
1897
|
</div><div class="memdoc">
|
|
1863
1898
|
|
|
1864
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1865
|
-
<div class="fragment"><div class="line"><a name="
|
|
1899
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00171">171</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1900
|
+
<div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> lhs.getExpr() >= rhs.getExpr();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div></div><!-- fragment -->
|
|
1866
1901
|
</div>
|
|
1867
1902
|
</div>
|
|
1868
1903
|
<a id="ae6419d6772044a2db7faf0ea0b848d12"></a>
|
|
@@ -1899,8 +1934,8 @@ Friends</h2></td></tr>
|
|
|
1899
1934
|
</table>
|
|
1900
1935
|
</div><div class="memdoc">
|
|
1901
1936
|
|
|
1902
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1903
|
-
<div class="fragment"><div class="line"><a name="
|
|
1937
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00201">201</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1938
|
+
<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> lhs.getExpr() ^ rhs.getExpr();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div></div><!-- fragment -->
|
|
1904
1939
|
</div>
|
|
1905
1940
|
</div>
|
|
1906
1941
|
<a id="a1f29d0ff58e6969e394f5b06017138de"></a>
|
|
@@ -1937,8 +1972,8 @@ Friends</h2></td></tr>
|
|
|
1937
1972
|
</table>
|
|
1938
1973
|
</div><div class="memdoc">
|
|
1939
1974
|
|
|
1940
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1941
|
-
<div class="fragment"><div class="line"><a name="
|
|
1975
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00211">211</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
1976
|
+
<div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> lhs.getExpr() | rhs.getExpr();</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div></div><!-- fragment -->
|
|
1942
1977
|
</div>
|
|
1943
1978
|
</div>
|
|
1944
1979
|
<a id="a31327900a231526ff8f62be87c5f309d"></a>
|
|
@@ -1975,8 +2010,8 @@ Friends</h2></td></tr>
|
|
|
1975
2010
|
</table>
|
|
1976
2011
|
</div><div class="memdoc">
|
|
1977
2012
|
|
|
1978
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
1979
|
-
<div class="fragment"><div class="line"><a name="
|
|
2013
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00241">241</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
2014
|
+
<div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">return</span> lhs.getExpr() || rhs.getExpr();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  }</div></div><!-- fragment -->
|
|
1980
2015
|
</div>
|
|
1981
2016
|
</div>
|
|
1982
2017
|
<a id="a7b6e7cd3b0b8681a4f4885e658632dce"></a>
|
|
@@ -2013,14 +2048,14 @@ Friends</h2></td></tr>
|
|
|
2013
2048
|
</table>
|
|
2014
2049
|
</div><div class="memdoc">
|
|
2015
2050
|
|
|
2016
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
2017
|
-
<div class="fragment"><div class="line"><a name="
|
|
2051
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00221">221</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
2052
|
+
<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a7b6e7cd3b0b8681a4f4885e658632dce">shl</a>(lhs.getExpr(), rhs.getExpr());</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_a7b6e7cd3b0b8681a4f4885e658632dce"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a7b6e7cd3b0b8681a4f4885e658632dce">SVF::Z3Expr::shl</a></div><div class="ttdeci">friend Z3Expr shl(const Z3Expr &lhs, const Z3Expr &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00221">Z3Expr.h:221</a></div></div>
|
|
2018
2053
|
</div><!-- fragment -->
|
|
2019
2054
|
</div>
|
|
2020
2055
|
</div>
|
|
2021
2056
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
2022
|
-
<a id="
|
|
2023
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
2057
|
+
<a id="af02935097a8db09812781ac8c42d93e5"></a>
|
|
2058
|
+
<h2 class="memtitle"><span class="permalink"><a href="#af02935097a8db09812781ac8c42d93e5">◆ </a></span>ctx</h2>
|
|
2024
2059
|
|
|
2025
2060
|
<div class="memitem">
|
|
2026
2061
|
<div class="memproto">
|
|
@@ -2029,7 +2064,7 @@ Friends</h2></td></tr>
|
|
|
2029
2064
|
<td class="mlabels-left">
|
|
2030
2065
|
<table class="memname">
|
|
2031
2066
|
<tr>
|
|
2032
|
-
<td class="memname">z3::context * Z3Expr::ctx = nullptr</td>
|
|
2067
|
+
<td class="memname">z3::context * SVF::Z3Expr::ctx = nullptr</td>
|
|
2033
2068
|
</tr>
|
|
2034
2069
|
</table>
|
|
2035
2070
|
</td>
|
|
@@ -2067,8 +2102,8 @@ Friends</h2></td></tr>
|
|
|
2067
2102
|
|
|
2068
2103
|
</div>
|
|
2069
2104
|
</div>
|
|
2070
|
-
<a id="
|
|
2071
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
2105
|
+
<a id="a2f0cf6549d9bc6fc1d4be46976ad0f0e"></a>
|
|
2106
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2f0cf6549d9bc6fc1d4be46976ad0f0e">◆ </a></span>solver</h2>
|
|
2072
2107
|
|
|
2073
2108
|
<div class="memitem">
|
|
2074
2109
|
<div class="memproto">
|
|
@@ -2077,7 +2112,7 @@ Friends</h2></td></tr>
|
|
|
2077
2112
|
<td class="mlabels-left">
|
|
2078
2113
|
<table class="memname">
|
|
2079
2114
|
<tr>
|
|
2080
|
-
<td class="memname">
|
|
2115
|
+
<td class="memname">z3::solver * SVF::Z3Expr::solver = nullptr</td>
|
|
2081
2116
|
</tr>
|
|
2082
2117
|
</table>
|
|
2083
2118
|
</td>
|
|
@@ -2093,8 +2128,6 @@ Friends</h2></td></tr>
|
|
|
2093
2128
|
</div>
|
|
2094
2129
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
2095
2130
|
<li>/home/runner/work/SVF/SVF/include/Util/<a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a></li>
|
|
2096
|
-
<li>/home/runner/work/SVF/SVF/lib/SABER/<a class="el" href="SaberCondAllocator_8cpp_source.html">SaberCondAllocator.cpp</a></li>
|
|
2097
|
-
<li>/home/runner/work/SVF/SVF/lib/Util/<a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a></li>
|
|
2098
2131
|
<li>/home/runner/work/SVF/SVF/lib/Util/<a class="el" href="Z3Expr_8cpp_source.html">Z3Expr.cpp</a></li>
|
|
2099
2132
|
</ul>
|
|
2100
2133
|
</div><!-- contents -->
|