svf-tools 1.0.905 → 1.0.907

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.
Files changed (438) hide show
  1. package/SVF-doxygen/html/AbstractInterpretation_8cpp.html +217 -0
  2. package/SVF-doxygen/html/AbstractInterpretation_8cpp_source.html +2093 -0
  3. package/SVF-doxygen/html/AbstractInterpretation_8h.html +115 -0
  4. package/SVF-doxygen/html/AbstractInterpretation_8h_source.html +459 -0
  5. package/SVF-doxygen/html/AbstractState_8cpp.html +84 -0
  6. package/SVF-doxygen/html/AbstractState_8cpp_source.html +461 -0
  7. package/SVF-doxygen/html/AbstractState_8h.html +105 -0
  8. package/SVF-doxygen/html/AbstractState_8h_source.html +891 -0
  9. package/SVF-doxygen/html/AbstractValue_8h.html +3 -3
  10. package/SVF-doxygen/html/AbstractValue_8h_source.html +652 -62
  11. package/SVF-doxygen/html/AddressValue_8h.html +4 -4
  12. package/SVF-doxygen/html/AddressValue_8h_source.html +180 -177
  13. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +782 -776
  14. package/SVF-doxygen/html/BufOverflowChecker_8h.html +1 -1
  15. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +19 -19
  16. package/SVF-doxygen/html/CFLGraph_8h_source.html +3 -3
  17. package/SVF-doxygen/html/CSC_8h_source.html +1 -1
  18. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/ConsExeState_8h_source.html +2 -2
  20. package/SVF-doxygen/html/ExeState_8cpp.html +1 -1
  21. package/SVF-doxygen/html/ExeState_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/ExeState_8h_source.html +8 -8
  23. package/SVF-doxygen/html/ICFGSimplification_8h.html +2 -2
  24. package/SVF-doxygen/html/ICFGSimplification_8h_source.html +17 -18
  25. package/SVF-doxygen/html/ICFG_8h_source.html +1 -1
  26. package/SVF-doxygen/html/IntervalValue_8h.html +2 -2
  27. package/SVF-doxygen/html/IntervalValue_8h_source.html +846 -864
  28. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +1 -1
  30. package/SVF-doxygen/html/MemRegion_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
  33. package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
  34. package/SVF-doxygen/html/RelExeState_8h_source.html +5 -5
  35. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +67 -68
  36. package/SVF-doxygen/html/RelationSolver_8h.html +1 -1
  37. package/SVF-doxygen/html/RelationSolver_8h_source.html +17 -17
  38. package/SVF-doxygen/html/SVFIR2AbsState_8cpp.html +84 -0
  39. package/SVF-doxygen/html/SVFIR2AbsState_8cpp_source.html +1348 -0
  40. package/SVF-doxygen/html/SVFIR2AbsState_8h.html +100 -0
  41. package/SVF-doxygen/html/SVFIR2AbsState_8h_source.html +378 -0
  42. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +9 -8
  43. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +920 -952
  44. package/SVF-doxygen/html/SVFIR2ItvExeState_8h.html +2 -3
  45. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +202 -207
  46. package/SVF-doxygen/html/SVFIR2Relation_8cpp.html +1 -1
  47. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +76 -72
  48. package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/SVFType_8h_source.html +1 -1
  50. package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
  51. package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
  52. package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
  53. package/SVF-doxygen/html/ae_8cpp.html +57 -57
  54. package/SVF-doxygen/html/ae_8cpp_source.html +462 -466
  55. package/SVF-doxygen/html/annotated.html +409 -418
  56. package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +2 -2
  57. package/SVF-doxygen/html/classSVF_1_1AEStat.html +184 -190
  58. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation-members.html +161 -0
  59. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation.html +4325 -0
  60. package/SVF-doxygen/html/classSVF_1_1AbstractInterpretation.png +0 -0
  61. package/SVF-doxygen/html/classSVF_1_1AbstractState-members.html +134 -0
  62. package/SVF-doxygen/html/classSVF_1_1AbstractState.html +2166 -0
  63. package/SVF-doxygen/html/classSVF_1_1AbstractState.png +0 -0
  64. package/SVF-doxygen/html/classSVF_1_1AddressValue-members.html +15 -28
  65. package/SVF-doxygen/html/classSVF_1_1AddressValue.html +171 -230
  66. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +0 -1
  67. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.png +0 -0
  68. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +73 -73
  69. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +578 -574
  70. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
  71. package/SVF-doxygen/html/classSVF_1_1CFLNode-members.html +48 -49
  72. package/SVF-doxygen/html/classSVF_1_1CFLNode.html +25 -25
  73. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +1 -1
  74. package/SVF-doxygen/html/classSVF_1_1ExeState.html +12 -14
  75. package/SVF-doxygen/html/classSVF_1_1ExeState.png +0 -0
  76. package/SVF-doxygen/html/classSVF_1_1FILOWorkList.html +3 -3
  77. package/SVF-doxygen/html/classSVF_1_1GenericNode.html +22 -8
  78. package/SVF-doxygen/html/classSVF_1_1GenericNode.png +0 -0
  79. package/SVF-doxygen/html/classSVF_1_1ICFGSimplification.html +1 -1
  80. package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +50 -64
  81. package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +349 -459
  82. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +1 -1
  83. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +1 -1
  84. package/SVF-doxygen/html/classSVF_1_1RelExeState-members.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +8 -8
  86. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +8 -8
  87. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +106 -107
  88. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState-members.html +141 -0
  89. package/SVF-doxygen/html/classSVF_1_1SVFIR2AbsState.html +3137 -0
  90. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +5 -5
  91. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +56 -57
  92. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1128 -1178
  93. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1SparseAbstractState-members.html +157 -0
  95. package/SVF-doxygen/html/classSVF_1_1SparseAbstractState.html +1512 -0
  96. package/SVF-doxygen/html/classSVF_1_1SparseAbstractState.png +0 -0
  97. package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +0 -1
  98. package/SVF-doxygen/html/classSVF_1_1Z3Expr.png +0 -0
  99. package/SVF-doxygen/html/classSymblicAbstractionTest-members.html +3 -3
  100. package/SVF-doxygen/html/classSymblicAbstractionTest.html +400 -404
  101. package/SVF-doxygen/html/classes.html +326 -336
  102. package/SVF-doxygen/html/dir_2c6fb801affc4b3efe6e1ed5974683f6.html +2 -10
  103. package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +2 -4
  104. package/SVF-doxygen/html/dir_9a8e7a56f4029a0d9f62b1c6d1f6e85b.html +2 -8
  105. package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +2 -4
  106. package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  107. package/SVF-doxygen/html/files.html +18 -27
  108. package/SVF-doxygen/html/functions.html +33 -56
  109. package/SVF-doxygen/html/functions_a.html +29 -42
  110. package/SVF-doxygen/html/functions_b.html +14 -21
  111. package/SVF-doxygen/html/functions_c.html +42 -52
  112. package/SVF-doxygen/html/functions_d.html +7 -4
  113. package/SVF-doxygen/html/functions_e.html +7 -21
  114. package/SVF-doxygen/html/functions_enum.html +4 -7
  115. package/SVF-doxygen/html/functions_eval.html +2 -2
  116. package/SVF-doxygen/html/functions_eval_c.html +0 -3
  117. package/SVF-doxygen/html/functions_eval_i.html +2 -3
  118. package/SVF-doxygen/html/functions_eval_m.html +2 -2
  119. package/SVF-doxygen/html/functions_eval_s.html +2 -5
  120. package/SVF-doxygen/html/functions_eval_u.html +4 -1
  121. package/SVF-doxygen/html/functions_f.html +6 -6
  122. package/SVF-doxygen/html/functions_func.html +24 -31
  123. package/SVF-doxygen/html/functions_func_b.html +10 -16
  124. package/SVF-doxygen/html/functions_func_c.html +30 -39
  125. package/SVF-doxygen/html/functions_func_d.html +1 -1
  126. package/SVF-doxygen/html/functions_func_e.html +7 -17
  127. package/SVF-doxygen/html/functions_func_g.html +61 -115
  128. package/SVF-doxygen/html/functions_func_h.html +22 -24
  129. package/SVF-doxygen/html/functions_func_i.html +64 -94
  130. package/SVF-doxygen/html/functions_func_j.html +4 -6
  131. package/SVF-doxygen/html/functions_func_l.html +9 -23
  132. package/SVF-doxygen/html/functions_func_m.html +7 -8
  133. package/SVF-doxygen/html/functions_func_n.html +8 -13
  134. package/SVF-doxygen/html/functions_func_o.html +57 -48
  135. package/SVF-doxygen/html/functions_func_p.html +6 -11
  136. package/SVF-doxygen/html/functions_func_r.html +4 -4
  137. package/SVF-doxygen/html/functions_func_s.html +35 -50
  138. package/SVF-doxygen/html/functions_func_t.html +26 -40
  139. package/SVF-doxygen/html/functions_func_u.html +6 -5
  140. package/SVF-doxygen/html/functions_func_v.html +2 -9
  141. package/SVF-doxygen/html/functions_func_w.html +9 -8
  142. package/SVF-doxygen/html/functions_func_z.html +1 -2
  143. package/SVF-doxygen/html/functions_func_~.html +10 -22
  144. package/SVF-doxygen/html/functions_g.html +61 -118
  145. package/SVF-doxygen/html/functions_h.html +21 -23
  146. package/SVF-doxygen/html/functions_i.html +76 -106
  147. package/SVF-doxygen/html/functions_j.html +4 -6
  148. package/SVF-doxygen/html/functions_k.html +0 -6
  149. package/SVF-doxygen/html/functions_l.html +11 -25
  150. package/SVF-doxygen/html/functions_m.html +8 -9
  151. package/SVF-doxygen/html/functions_n.html +14 -17
  152. package/SVF-doxygen/html/functions_o.html +71 -90
  153. package/SVF-doxygen/html/functions_p.html +31 -30
  154. package/SVF-doxygen/html/functions_r.html +11 -15
  155. package/SVF-doxygen/html/functions_rela.html +2 -3
  156. package/SVF-doxygen/html/functions_rela_b.html +0 -1
  157. package/SVF-doxygen/html/functions_rela_e.html +0 -1
  158. package/SVF-doxygen/html/functions_rela_i.html +0 -2
  159. package/SVF-doxygen/html/functions_rela_l.html +0 -1
  160. package/SVF-doxygen/html/functions_rela_o.html +0 -18
  161. package/SVF-doxygen/html/functions_rela_r.html +2 -2
  162. package/SVF-doxygen/html/functions_rela_s.html +4 -9
  163. package/SVF-doxygen/html/functions_s.html +45 -70
  164. package/SVF-doxygen/html/functions_t.html +29 -45
  165. package/SVF-doxygen/html/functions_type.html +0 -5
  166. package/SVF-doxygen/html/functions_type_c.html +1 -1
  167. package/SVF-doxygen/html/functions_type_k.html +0 -6
  168. package/SVF-doxygen/html/functions_type_l.html +4 -3
  169. package/SVF-doxygen/html/functions_type_t.html +0 -3
  170. package/SVF-doxygen/html/functions_type_v.html +3 -5
  171. package/SVF-doxygen/html/functions_u.html +8 -4
  172. package/SVF-doxygen/html/functions_v.html +11 -20
  173. package/SVF-doxygen/html/functions_vars.html +33 -56
  174. package/SVF-doxygen/html/functions_vars_a.html +3 -0
  175. package/SVF-doxygen/html/functions_vars_g.html +2 -5
  176. package/SVF-doxygen/html/functions_vars_i.html +3 -0
  177. package/SVF-doxygen/html/functions_vars_t.html +1 -0
  178. package/SVF-doxygen/html/functions_w.html +11 -10
  179. package/SVF-doxygen/html/functions_z.html +1 -2
  180. package/SVF-doxygen/html/functions_~.html +10 -22
  181. package/SVF-doxygen/html/globals.html +2 -2
  182. package/SVF-doxygen/html/globals_defs.html +1 -4
  183. package/SVF-doxygen/html/globals_n.html +2 -5
  184. package/SVF-doxygen/html/globals_s.html +1 -1
  185. package/SVF-doxygen/html/globals_vars.html +5 -5
  186. package/SVF-doxygen/html/globals_z.html +3 -3
  187. package/SVF-doxygen/html/hierarchy.html +622 -631
  188. package/SVF-doxygen/html/namespaceSVF.html +449 -458
  189. package/SVF-doxygen/html/search/all_0.js +155 -161
  190. package/SVF-doxygen/html/search/all_1.js +502 -503
  191. package/SVF-doxygen/html/search/all_10.js +325 -326
  192. package/SVF-doxygen/html/search/all_11.js +227 -227
  193. package/SVF-doxygen/html/search/all_12.js +563 -574
  194. package/SVF-doxygen/html/search/all_13.js +206 -208
  195. package/SVF-doxygen/html/search/all_14.js +74 -73
  196. package/SVF-doxygen/html/search/all_15.js +175 -176
  197. package/SVF-doxygen/html/search/all_16.js +77 -77
  198. package/SVF-doxygen/html/search/all_17.js +1 -1
  199. package/SVF-doxygen/html/search/all_18.js +1 -1
  200. package/SVF-doxygen/html/search/all_19.js +27 -27
  201. package/SVF-doxygen/html/search/all_1a.js +175 -179
  202. package/SVF-doxygen/html/search/all_2.js +180 -182
  203. package/SVF-doxygen/html/search/all_3.js +636 -642
  204. package/SVF-doxygen/html/search/all_4.js +237 -236
  205. package/SVF-doxygen/html/search/all_5.js +120 -126
  206. package/SVF-doxygen/html/search/all_6.js +236 -236
  207. package/SVF-doxygen/html/search/all_7.js +1040 -1056
  208. package/SVF-doxygen/html/search/all_8.js +211 -215
  209. package/SVF-doxygen/html/search/all_9.js +631 -638
  210. package/SVF-doxygen/html/search/all_a.js +46 -46
  211. package/SVF-doxygen/html/search/all_b.js +24 -26
  212. package/SVF-doxygen/html/search/all_c.js +113 -115
  213. package/SVF-doxygen/html/search/all_d.js +205 -205
  214. package/SVF-doxygen/html/search/all_e.js +207 -209
  215. package/SVF-doxygen/html/search/all_f.js +122 -122
  216. package/SVF-doxygen/html/search/classes_0.js +29 -28
  217. package/SVF-doxygen/html/search/classes_1.js +11 -11
  218. package/SVF-doxygen/html/search/classes_10.js +72 -74
  219. package/SVF-doxygen/html/search/classes_11.js +14 -14
  220. package/SVF-doxygen/html/search/classes_12.js +2 -2
  221. package/SVF-doxygen/html/search/classes_13.js +10 -10
  222. package/SVF-doxygen/html/search/classes_14.js +19 -19
  223. package/SVF-doxygen/html/search/classes_15.js +1 -1
  224. package/SVF-doxygen/html/search/classes_2.js +72 -73
  225. package/SVF-doxygen/html/search/classes_3.js +35 -35
  226. package/SVF-doxygen/html/search/classes_4.js +7 -8
  227. package/SVF-doxygen/html/search/classes_5.js +28 -28
  228. package/SVF-doxygen/html/search/classes_6.js +98 -98
  229. package/SVF-doxygen/html/search/classes_7.js +34 -38
  230. package/SVF-doxygen/html/search/classes_8.js +57 -59
  231. package/SVF-doxygen/html/search/classes_9.js +1 -1
  232. package/SVF-doxygen/html/search/classes_a.js +12 -12
  233. package/SVF-doxygen/html/search/classes_b.js +29 -29
  234. package/SVF-doxygen/html/search/classes_c.js +6 -6
  235. package/SVF-doxygen/html/search/classes_d.js +19 -19
  236. package/SVF-doxygen/html/search/classes_e.js +36 -36
  237. package/SVF-doxygen/html/search/classes_f.js +25 -25
  238. package/SVF-doxygen/html/search/defines_0.js +3 -3
  239. package/SVF-doxygen/html/search/defines_1.js +3 -3
  240. package/SVF-doxygen/html/search/defines_10.js +2 -2
  241. package/SVF-doxygen/html/search/defines_2.js +30 -30
  242. package/SVF-doxygen/html/search/defines_3.js +20 -20
  243. package/SVF-doxygen/html/search/defines_4.js +3 -3
  244. package/SVF-doxygen/html/search/defines_5.js +4 -4
  245. package/SVF-doxygen/html/search/defines_6.js +2 -2
  246. package/SVF-doxygen/html/search/defines_7.js +5 -5
  247. package/SVF-doxygen/html/search/defines_8.js +11 -11
  248. package/SVF-doxygen/html/search/defines_9.js +9 -9
  249. package/SVF-doxygen/html/search/defines_a.js +2 -2
  250. package/SVF-doxygen/html/search/defines_b.js +1 -1
  251. package/SVF-doxygen/html/search/defines_c.js +3 -4
  252. package/SVF-doxygen/html/search/defines_d.js +2 -2
  253. package/SVF-doxygen/html/search/defines_e.js +8 -8
  254. package/SVF-doxygen/html/search/defines_f.js +4 -4
  255. package/SVF-doxygen/html/search/enums_0.js +3 -4
  256. package/SVF-doxygen/html/search/enums_1.js +2 -2
  257. package/SVF-doxygen/html/search/enums_10.js +1 -1
  258. package/SVF-doxygen/html/search/enums_11.js +1 -1
  259. package/SVF-doxygen/html/search/enums_2.js +9 -9
  260. package/SVF-doxygen/html/search/enums_3.js +2 -1
  261. package/SVF-doxygen/html/search/enums_4.js +3 -4
  262. package/SVF-doxygen/html/search/enums_5.js +1 -1
  263. package/SVF-doxygen/html/search/enums_6.js +2 -2
  264. package/SVF-doxygen/html/search/enums_7.js +2 -2
  265. package/SVF-doxygen/html/search/enums_8.js +4 -4
  266. package/SVF-doxygen/html/search/enums_9.js +1 -1
  267. package/SVF-doxygen/html/search/enums_a.js +1 -1
  268. package/SVF-doxygen/html/search/enums_b.js +7 -7
  269. package/SVF-doxygen/html/search/enums_c.js +1 -1
  270. package/SVF-doxygen/html/search/enums_d.js +4 -4
  271. package/SVF-doxygen/html/search/enums_e.js +2 -2
  272. package/SVF-doxygen/html/search/enums_f.js +4 -4
  273. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  274. package/SVF-doxygen/html/search/enumvalues_1.js +16 -16
  275. package/SVF-doxygen/html/search/enumvalues_10.js +36 -36
  276. package/SVF-doxygen/html/search/enumvalues_11.js +6 -5
  277. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  278. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  279. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  280. package/SVF-doxygen/html/search/enumvalues_15.js +4 -4
  281. package/SVF-doxygen/html/search/enumvalues_2.js +36 -37
  282. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  283. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  284. package/SVF-doxygen/html/search/enumvalues_5.js +50 -50
  285. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  286. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  287. package/SVF-doxygen/html/search/enumvalues_8.js +24 -24
  288. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  289. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  290. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  291. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  292. package/SVF-doxygen/html/search/enumvalues_d.js +19 -19
  293. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  294. package/SVF-doxygen/html/search/enumvalues_f.js +48 -49
  295. package/SVF-doxygen/html/search/files_0.js +18 -16
  296. package/SVF-doxygen/html/search/files_1.js +9 -9
  297. package/SVF-doxygen/html/search/files_10.js +8 -8
  298. package/SVF-doxygen/html/search/files_11.js +8 -8
  299. package/SVF-doxygen/html/search/files_12.js +2 -2
  300. package/SVF-doxygen/html/search/files_2.js +51 -53
  301. package/SVF-doxygen/html/search/files_3.js +14 -14
  302. package/SVF-doxygen/html/search/files_4.js +3 -5
  303. package/SVF-doxygen/html/search/files_5.js +13 -13
  304. package/SVF-doxygen/html/search/files_6.js +10 -10
  305. package/SVF-doxygen/html/search/files_7.js +15 -17
  306. package/SVF-doxygen/html/search/files_8.js +13 -13
  307. package/SVF-doxygen/html/search/files_9.js +18 -18
  308. package/SVF-doxygen/html/search/files_a.js +3 -3
  309. package/SVF-doxygen/html/search/files_b.js +4 -4
  310. package/SVF-doxygen/html/search/files_c.js +20 -20
  311. package/SVF-doxygen/html/search/files_d.js +4 -4
  312. package/SVF-doxygen/html/search/files_e.js +57 -62
  313. package/SVF-doxygen/html/search/files_f.js +8 -8
  314. package/SVF-doxygen/html/search/functions_0.js +13 -13
  315. package/SVF-doxygen/html/search/functions_1.js +366 -368
  316. package/SVF-doxygen/html/search/functions_10.js +139 -140
  317. package/SVF-doxygen/html/search/functions_11.js +140 -140
  318. package/SVF-doxygen/html/search/functions_12.js +294 -299
  319. package/SVF-doxygen/html/search/functions_13.js +72 -73
  320. package/SVF-doxygen/html/search/functions_14.js +41 -41
  321. package/SVF-doxygen/html/search/functions_15.js +70 -72
  322. package/SVF-doxygen/html/search/functions_16.js +38 -38
  323. package/SVF-doxygen/html/search/functions_17.js +3 -3
  324. package/SVF-doxygen/html/search/functions_18.js +175 -179
  325. package/SVF-doxygen/html/search/functions_2.js +92 -94
  326. package/SVF-doxygen/html/search/functions_3.js +258 -261
  327. package/SVF-doxygen/html/search/functions_4.js +85 -85
  328. package/SVF-doxygen/html/search/functions_5.js +54 -57
  329. package/SVF-doxygen/html/search/functions_6.js +65 -65
  330. package/SVF-doxygen/html/search/functions_7.js +857 -872
  331. package/SVF-doxygen/html/search/functions_8.js +162 -162
  332. package/SVF-doxygen/html/search/functions_9.js +440 -446
  333. package/SVF-doxygen/html/search/functions_a.js +30 -30
  334. package/SVF-doxygen/html/search/functions_b.js +2 -2
  335. package/SVF-doxygen/html/search/functions_c.js +22 -25
  336. package/SVF-doxygen/html/search/functions_d.js +82 -82
  337. package/SVF-doxygen/html/search/functions_e.js +34 -36
  338. package/SVF-doxygen/html/search/functions_f.js +58 -58
  339. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  340. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  341. package/SVF-doxygen/html/search/related_0.js +4 -4
  342. package/SVF-doxygen/html/search/related_1.js +2 -2
  343. package/SVF-doxygen/html/search/related_2.js +2 -2
  344. package/SVF-doxygen/html/search/related_3.js +2 -2
  345. package/SVF-doxygen/html/search/related_4.js +2 -2
  346. package/SVF-doxygen/html/search/related_5.js +1 -1
  347. package/SVF-doxygen/html/search/related_6.js +2 -2
  348. package/SVF-doxygen/html/search/related_7.js +5 -5
  349. package/SVF-doxygen/html/search/related_8.js +2 -2
  350. package/SVF-doxygen/html/search/related_9.js +4 -4
  351. package/SVF-doxygen/html/search/related_a.js +19 -19
  352. package/SVF-doxygen/html/search/related_b.js +4 -4
  353. package/SVF-doxygen/html/search/related_c.js +2 -2
  354. package/SVF-doxygen/html/search/related_d.js +11 -12
  355. package/SVF-doxygen/html/search/related_e.js +2 -2
  356. package/SVF-doxygen/html/search/related_f.js +2 -2
  357. package/SVF-doxygen/html/search/typedefs_0.js +18 -19
  358. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  359. package/SVF-doxygen/html/search/typedefs_10.js +65 -65
  360. package/SVF-doxygen/html/search/typedefs_11.js +12 -13
  361. package/SVF-doxygen/html/search/typedefs_12.js +13 -13
  362. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  363. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  364. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  365. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  366. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  367. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  368. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  369. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  370. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  371. package/SVF-doxygen/html/search/typedefs_9.js +4 -6
  372. package/SVF-doxygen/html/search/typedefs_a.js +30 -29
  373. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  374. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  375. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  376. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  377. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  378. package/SVF-doxygen/html/search/variables_0.js +171 -177
  379. package/SVF-doxygen/html/search/variables_1.js +78 -77
  380. package/SVF-doxygen/html/search/variables_10.js +98 -98
  381. package/SVF-doxygen/html/search/variables_11.js +47 -47
  382. package/SVF-doxygen/html/search/variables_12.js +93 -93
  383. package/SVF-doxygen/html/search/variables_13.js +76 -76
  384. package/SVF-doxygen/html/search/variables_14.js +14 -14
  385. package/SVF-doxygen/html/search/variables_15.js +49 -49
  386. package/SVF-doxygen/html/search/variables_16.js +11 -11
  387. package/SVF-doxygen/html/search/variables_17.js +1 -1
  388. package/SVF-doxygen/html/search/variables_18.js +17 -17
  389. package/SVF-doxygen/html/search/variables_2.js +40 -40
  390. package/SVF-doxygen/html/search/variables_3.js +143 -143
  391. package/SVF-doxygen/html/search/variables_4.js +51 -51
  392. package/SVF-doxygen/html/search/variables_5.js +39 -39
  393. package/SVF-doxygen/html/search/variables_6.js +66 -66
  394. package/SVF-doxygen/html/search/variables_7.js +33 -34
  395. package/SVF-doxygen/html/search/variables_8.js +8 -8
  396. package/SVF-doxygen/html/search/variables_9.js +80 -79
  397. package/SVF-doxygen/html/search/variables_a.js +4 -4
  398. package/SVF-doxygen/html/search/variables_b.js +10 -10
  399. package/SVF-doxygen/html/search/variables_c.js +44 -44
  400. package/SVF-doxygen/html/search/variables_d.js +58 -58
  401. package/SVF-doxygen/html/search/variables_e.js +123 -123
  402. package/SVF-doxygen/html/search/variables_f.js +31 -31
  403. package/SVF-doxygen/html/structSVF_1_1AbstractValue-members.html +164 -0
  404. package/SVF-doxygen/html/structSVF_1_1AbstractValue.html +2820 -0
  405. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseAbstractState_01_4-members.html +84 -0
  406. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseAbstractState_01_4.html +130 -0
  407. package/SVF-doxygen/html/svf-ex_8cpp.html +25 -25
  408. package/SVF-doxygen/html/svf-ex_8cpp_source.html +26 -26
  409. package/package.json +1 -1
  410. package/svf/include/AE/Core/AbstractState.h +749 -0
  411. package/svf/include/AE/Core/AbstractValue.h +514 -39
  412. package/svf/include/AE/Core/AddressValue.h +32 -25
  413. package/svf/include/AE/Core/IntervalValue.h +10 -24
  414. package/svf/include/AE/Core/RelExeState.h +1 -1
  415. package/svf/include/AE/Core/RelationSolver.h +9 -9
  416. package/svf/include/AE/Svfexe/{AbstractExecution.h → AbstractInterpretation.h} +27 -26
  417. package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
  418. package/svf/include/AE/Svfexe/ICFGSimplification.h +1 -2
  419. package/svf/include/AE/Svfexe/{SVFIR2ItvExeState.h → SVFIR2AbsState.h} +30 -33
  420. package/svf/lib/AE/Core/AbstractState.cpp +357 -0
  421. package/svf/lib/AE/Core/RelationSolver.cpp +31 -31
  422. package/svf/lib/AE/Core/SVFIR2Relation.cpp +17 -16
  423. package/svf/lib/AE/Svfexe/{AbstractExecution.cpp → AbstractInterpretation.cpp} +166 -156
  424. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +51 -47
  425. package/svf/lib/AE/Svfexe/{SVFIR2ItvExeState.cpp → SVFIR2AbsState.cpp} +211 -247
  426. package/svf-llvm/tools/AE/ae.cpp +105 -108
  427. package/svf-llvm/tools/Example/svf-ex.cpp +2 -2
  428. package/svf/include/AE/Core/ConsExeState.h +0 -453
  429. package/svf/include/AE/Core/ExeState.h +0 -304
  430. package/svf/include/AE/Core/IntervalExeState.h +0 -650
  431. package/svf/include/AE/Core/SingleAbsValue.h +0 -477
  432. package/svf/include/AE/Core/SymState.h +0 -221
  433. package/svf/include/AE/Svfexe/SVFIR2ConsExeState.h +0 -148
  434. package/svf/lib/AE/Core/ConsExeState.cpp +0 -603
  435. package/svf/lib/AE/Core/ExeState.cpp +0 -117
  436. package/svf/lib/AE/Core/IntervalExeState.cpp +0 -329
  437. package/svf/lib/AE/Core/SymState.cpp +0 -37
  438. package/svf/lib/AE/Svfexe/SVFIR2ConsExeState.cpp +0 -772
@@ -69,7 +69,7 @@ $(function() {
69
69
  <div class="title">IntervalValue.h</div> </div>
70
70
  </div><!--header-->
71
71
  <div class="contents">
72
- <a href="IntervalValue_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- IntervalValue.h ----Interval Value for Interval Domain-------------//</span></div>
72
+ <a href="IntervalValue_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- IntervalValue.h ----Interval Value for Abstract Domain-------------//</span></div>
73
73
  <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
74
74
  <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div>
75
75
  <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div>
@@ -102,13 +102,13 @@ $(function() {
102
102
  <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef Z3_EXAMPLE_IntervalValue_H</span></div>
103
103
  <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define Z3_EXAMPLE_IntervalValue_H</span></div>
104
104
  <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
105
- <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AbstractValue_8h.html">AE/Core/AbstractValue.h</a>&quot;</span></div>
106
- <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="NumericLiteral_8h.html">AE/Core/NumericLiteral.h</a>&quot;</span></div>
105
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="NumericLiteral_8h.html">AE/Core/NumericLiteral.h</a>&quot;</span></div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
107
107
  <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
108
108
  <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
109
109
  <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
110
110
  <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
111
- <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html"> 43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> final : <span class="keyword">public</span> <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a></div>
111
+ <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html"> 43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a></div>
112
112
  <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
113
113
  <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">private</span>:</div>
114
114
  <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Lower bound</span></div>
@@ -120,12 +120,12 @@ $(function() {
120
120
  <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Invariant: isBottom() &lt;=&gt; _lb = 1 &amp;&amp; _ub = 0</span></div>
121
121
  <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">public</span>:</div>
122
122
  <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
123
- <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059"> 55</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>()<span class="keyword"> const override</span></div>
123
+ <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f"> 55</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>()<span class="keyword"> const</span></div>
124
124
  <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword"> </span>{</div>
125
125
  <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a1e693e837e8d67ce76a03ec243c94f15">is_minus_infinity</a>() &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a538deb0b9e88fd99b9768f5775e58ca7">is_plus_infinity</a>();</div>
126
126
  <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
127
127
  <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
128
- <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001"> 60</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>()<span class="keyword"> const override</span></div>
128
+ <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072"> 60</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>()<span class="keyword"> const</span></div>
129
129
  <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword"> </span>{</div>
130
130
  <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> !<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>);</div>
131
131
  <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
@@ -155,958 +155,940 @@ $(function() {
155
155
  <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 0);</div>
156
156
  <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
157
157
  <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
158
- <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0"> 95</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>() : <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>(<a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>::<a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">IntervalK</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>()), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>()) {}</div>
158
+ <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0"> 95</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>() : <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>()), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>()) {}</div>
159
159
  <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
160
- <div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a22796c07a495e1af7252b3dcb60d9940"> 98</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a22796c07a495e1af7252b3dcb60d9940">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>(<a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>::<a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">IntervalK</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
160
+ <div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a22796c07a495e1af7252b3dcb60d9940"> 98</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a22796c07a495e1af7252b3dcb60d9940">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
161
161
  <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
162
162
  <div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a926ca60622fdcd225ef7d8b7fd4054b2"> 100</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a926ca60622fdcd225ef7d8b7fd4054b2">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
163
163
  <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
164
164
  <div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3ac170a902accf8d84b6b77ab88a8fd3"> 102</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a3ac170a902accf8d84b6b77ab88a8fd3">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
165
165
  <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
166
- <div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b"> 104</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>(<a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>::<a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">IntervalK</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
166
+ <div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b"> 104</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
167
167
  <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
168
168
  <div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa339a88f42bea8c1adfe0db8ba3a5d2a"> 106</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa339a88f42bea8c1adfe0db8ba3a5d2a">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
169
169
  <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
170
- <div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a73aee65aae0f2ef368d159d29e1d5a30"> 109</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a73aee65aae0f2ef368d159d29e1d5a30">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>(<a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>::<a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">IntervalK</a>),</div>
171
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>)), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
172
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
173
- <div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490"> 112</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
174
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
175
- <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5"> 114</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
176
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
177
- <div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852"> 116</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852">IntervalValue</a>(<span class="keywordtype">float</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">float</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
178
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
179
- <div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c"> 118</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
180
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
181
- <div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905"> 120</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
182
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
183
- <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65"> 122</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
184
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
185
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;) = <span class="keywordflow">default</span>;</div>
186
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
187
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&amp;) = <span class="keywordflow">default</span>;</div>
188
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
189
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a>) = <span class="keywordflow">default</span>;</div>
190
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
191
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">operator=</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&amp;) = <span class="keywordflow">default</span>;</div>
192
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
193
- <div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171"> 137</a></span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
194
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword"> </span>{</div>
195
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
196
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
197
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">bottom</a>();</div>
198
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
199
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
200
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div>
201
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>();</div>
202
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
203
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">else</span></div>
204
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
205
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
206
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
207
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> eq(this-&gt;_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) ? <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0);</div>
208
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
209
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">else</span></div>
210
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
211
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> value = *<span class="keyword">this</span>;</div>
212
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; value.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(other);</div>
213
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">if</span> (value.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
214
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
215
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0);</div>
216
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
217
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">else</span></div>
218
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
219
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">// return top();</span></div>
220
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 1);</div>
221
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
222
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
223
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
224
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
225
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
226
- <div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9"> 171</a></span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
227
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="keyword"> </span>{</div>
228
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
229
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
230
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">bottom</a>();</div>
231
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
232
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
233
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
234
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>();</div>
235
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
236
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">else</span></div>
237
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
238
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
239
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
240
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> eq(this-&gt;_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) ? <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1);</div>
241
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
242
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">else</span></div>
243
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
244
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> value = *<span class="keyword">this</span>;</div>
245
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; value.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(other);</div>
246
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (!value.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
247
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
248
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 1);</div>
249
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
250
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">else</span></div>
251
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
252
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1);</div>
253
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
254
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
255
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
256
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
257
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
258
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#afcd424e419fe66750c47df21774bb22c">~IntervalValue</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div>
259
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
260
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
261
- <div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a101633c38e284f6e2bcad852daa3baae"> 208</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a101633c38e284f6e2bcad852daa3baae">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> *)</div>
262
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
263
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
264
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
265
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
266
- <div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a"> 213</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a> *v)</div>
267
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div>
268
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> v-&gt;<a class="code" href="classSVF_1_1AbstractValue.html#a74bc740e894dfbdb2253bedc2851dd2e">getAbstractValueKind</a>() == <a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">AbstractValue::IntervalK</a>;</div>
269
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div>
170
+ <div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a73aee65aae0f2ef368d159d29e1d5a30"> 109</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a73aee65aae0f2ef368d159d29e1d5a30">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>)), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(std::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
171
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
172
+ <div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490"> 111</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
173
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
174
+ <div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5"> 113</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
175
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
176
+ <div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852"> 115</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852">IntervalValue</a>(<span class="keywordtype">float</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">float</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
177
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
178
+ <div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c"> 117</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
179
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
180
+ <div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905"> 119</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
181
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
182
+ <div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65"> 121</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
183
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
184
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;) = <span class="keywordflow">default</span>;</div>
185
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
186
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&amp;) = <span class="keywordflow">default</span>;</div>
187
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
188
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a>) = <span class="keywordflow">default</span>;</div>
189
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
190
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">operator=</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;&amp;) = <span class="keywordflow">default</span>;</div>
191
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
192
+ <div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171"> 136</a></span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
193
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword"> </span>{</div>
194
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
195
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
196
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">bottom</a>();</div>
197
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
198
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
199
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
200
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>();</div>
201
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
202
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">else</span></div>
203
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
204
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
205
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div>
206
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> eq(this-&gt;_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) ? <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0);</div>
207
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
208
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">else</span></div>
209
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div>
210
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> value = *<span class="keyword">this</span>;</div>
211
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; value.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(other);</div>
212
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (value.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
213
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
214
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0);</div>
215
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
216
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">else</span></div>
217
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div>
218
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="comment">// return top();</span></div>
219
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 1);</div>
220
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
221
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
222
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
223
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
224
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
225
+ <div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9"> 170</a></span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
226
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="keyword"> </span>{</div>
227
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
228
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
229
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">bottom</a>();</div>
230
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
231
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
232
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
233
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>();</div>
234
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
235
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">else</span></div>
236
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
237
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
238
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
239
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> eq(this-&gt;_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) ? <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1);</div>
240
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
241
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">else</span></div>
242
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
243
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> value = *<span class="keyword">this</span>;</div>
244
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; value.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(other);</div>
245
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span> (!value.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
246
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div>
247
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 1);</div>
248
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
249
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">else</span></div>
250
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div>
251
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1);</div>
252
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
253
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
254
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
255
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
256
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
257
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html#a8fc5e1a30d60fd01fd3ddf3d5ec0e306">~IntervalValue</a>() = <span class="keywordflow">default</span>;</div>
258
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
259
+ <div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264"> 206</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()<span class="keyword"> const</span></div>
260
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="keyword"> </span>{</div>
261
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; assert(!this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>());</div>
262
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
263
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
264
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
265
+ <div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9"> 213</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()<span class="keyword"> const</span></div>
266
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="keyword"> </span>{</div>
267
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; assert(!this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>());</div>
268
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
269
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
270
270
  <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
271
- <div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264"> 220</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()<span class="keyword"> const</span></div>
272
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="keyword"> </span>{</div>
273
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; assert(!this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>());</div>
274
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
275
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
276
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
277
- <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9"> 227</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()<span class="keyword"> const</span></div>
278
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword"> </span>{</div>
279
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; assert(!this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>());</div>
280
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
281
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
282
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
283
- <div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d"> 234</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">setLb</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>)</div>
284
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
285
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>;</div>
286
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
287
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; </div>
288
- <div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b"> 240</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">setUb</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)</div>
289
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
290
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>;</div>
291
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
292
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
293
- <div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a"> 246</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">setValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)</div>
294
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div>
295
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>;</div>
296
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>;</div>
297
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
298
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; </div>
299
- <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa"> 253</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>()<span class="keyword"> const</span></div>
300
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="keyword"> </span>{</div>
301
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">is_zero</a>() &amp;&amp; <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">is_zero</a>();</div>
271
+ <div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d"> 220</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">setLb</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>)</div>
272
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
273
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>;</div>
274
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
275
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
276
+ <div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b"> 226</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">setUb</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)</div>
277
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
278
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>;</div>
279
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div>
280
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
281
+ <div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a"> 232</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">setValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)</div>
282
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
283
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>;</div>
284
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>;</div>
285
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
286
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
287
+ <div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa"> 239</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>()<span class="keyword"> const</span></div>
288
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="keyword"> </span>{</div>
289
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">is_zero</a>() &amp;&amp; <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">is_zero</a>();</div>
290
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
291
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; </div>
292
+ <div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a"> 245</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>()<span class="keyword"> const</span></div>
293
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="keyword"> </span>{</div>
294
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() || <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>();</div>
295
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
296
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; </div>
297
+ <div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536"> 250</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>()<span class="keyword"> const</span></div>
298
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="keyword"> </span>{</div>
299
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordtype">bool</span> lb_int = <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
300
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordtype">bool</span> ub_int = <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
301
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; assert (lb_int == ub_int &amp;&amp; <span class="stringliteral">&quot;lb and ub should be both int or both float&quot;</span>);</div>
302
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
302
303
  <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
303
304
  <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
304
- <div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a"> 259</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>()<span class="keyword"> const</span></div>
305
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="keyword"> </span>{</div>
306
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() || <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>();</div>
307
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div>
308
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
309
- <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536"> 264</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>()<span class="keyword"> const</span></div>
310
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="keyword"> </span>{</div>
311
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordtype">bool</span> lb_int = <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
312
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordtype">bool</span> ub_int = <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
313
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; assert (lb_int == ub_int &amp;&amp; <span class="stringliteral">&quot;lb and ub should be both int or both float&quot;</span>);</div>
314
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
315
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
316
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; </div>
317
- <div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6"> 272</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>()<span class="keyword"> const</span></div>
318
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="keyword"> </span>{</div>
319
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordtype">bool</span> lb_real = <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
320
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordtype">bool</span> ub_real = <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
321
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; assert (lb_real == ub_real &amp;&amp; <span class="stringliteral">&quot;lb and ub should be both real or both int&quot;</span>);</div>
322
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
323
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div>
324
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div>
325
- <div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9"> 281</a></span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">getNumeral</a>()<span class="keyword"> const</span></div>
326
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="keyword"> </span>{</div>
327
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;this IntervalValue is not numeral&quot;</span>);</div>
328
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
329
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
330
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; </div>
331
- <div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3"> 287</a></span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3">getIntNumeral</a>()<span class="keyword"> const</span></div>
332
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword"> </span>{</div>
333
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;this IntervalValue is not numeral&quot;</span>);</div>
334
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
335
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div>
336
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; </div>
337
- <div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293"> 293</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293">getRealNumeral</a>()<span class="keyword"> const</span></div>
338
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="keyword"> </span>{</div>
339
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;this IntervalValue is not numeral&quot;</span>);</div>
340
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
341
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
342
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; </div>
343
- <div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0"> 300</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>()<span class="keyword"> const</span></div>
344
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="keyword"> </span>{</div>
345
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> eq(<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>, <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
305
+ <div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6"> 258</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>()<span class="keyword"> const</span></div>
306
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="keyword"> </span>{</div>
307
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordtype">bool</span> lb_real = <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
308
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordtype">bool</span> ub_real = <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
309
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; assert (lb_real == ub_real &amp;&amp; <span class="stringliteral">&quot;lb and ub should be both real or both int&quot;</span>);</div>
310
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
311
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
312
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
313
+ <div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9"> 267</a></span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">getNumeral</a>()<span class="keyword"> const</span></div>
314
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="keyword"> </span>{</div>
315
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;this IntervalValue is not numeral&quot;</span>);</div>
316
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
317
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
318
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
319
+ <div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3"> 273</a></span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3">getIntNumeral</a>()<span class="keyword"> const</span></div>
320
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="keyword"> </span>{</div>
321
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;this IntervalValue is not numeral&quot;</span>);</div>
322
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
323
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
324
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
325
+ <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293"> 279</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293">getRealNumeral</a>()<span class="keyword"> const</span></div>
326
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="keyword"> </span>{</div>
327
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;this IntervalValue is not numeral&quot;</span>);</div>
328
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
329
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
330
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; </div>
331
+ <div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0"> 286</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>()<span class="keyword"> const</span></div>
332
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="keyword"> </span>{</div>
333
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> eq(<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>, <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
334
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
335
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; </div>
336
+ <div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30"> 292</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>()</div>
337
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div>
338
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; this-&gt;_lb = 1;</div>
339
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; this-&gt;_ub = 0;</div>
340
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
341
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; </div>
342
+ <div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d"> 299</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">set_to_top</a>()</div>
343
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
344
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>();</div>
345
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>();</div>
346
346
  <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
347
347
  <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; </div>
348
- <div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30"> 306</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>()</div>
349
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div>
350
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; this-&gt;_lb = 1;</div>
351
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; this-&gt;_ub = 0;</div>
352
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div>
353
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; </div>
354
- <div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d"> 313</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">set_to_top</a>()</div>
355
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div>
356
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>();</div>
357
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>();</div>
358
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
359
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; </div>
360
- <div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039"> 320</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">leq</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
361
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;<span class="keyword"> </span>{</div>
362
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
363
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div>
364
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
365
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; }</div>
366
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
348
+ <div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039"> 306</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">leq</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
349
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="keyword"> </span>{</div>
350
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
351
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
352
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
353
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
354
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
355
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div>
356
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
357
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
358
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">else</span></div>
359
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
360
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(this-&gt;_lb) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
361
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
362
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; </div>
363
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
364
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; </div>
365
+ <div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df"> 324</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">geq</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
366
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="keyword"> </span>{</div>
367
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
367
368
  <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; {</div>
368
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
369
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
369
370
  <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div>
370
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">else</span></div>
371
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
371
372
  <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div>
372
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(this-&gt;_lb) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
373
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
373
374
  <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; }</div>
374
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; </div>
375
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
376
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; </div>
377
- <div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df"> 338</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">geq</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
378
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="keyword"> </span>{</div>
379
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
380
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
381
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
382
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div>
383
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
375
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">else</span></div>
376
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div>
377
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(this-&gt;_lb) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
378
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div>
379
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
380
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; </div>
381
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; </div>
382
+ <div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1"> 342</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
383
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="keyword"> </span>{</div>
384
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
384
385
  <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
385
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
386
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>();</div>
386
387
  <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div>
387
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span></div>
388
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
388
389
  <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div>
389
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(this-&gt;_lb) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
390
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
390
391
  <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div>
391
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div>
392
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; </div>
393
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
394
- <div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1"> 356</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)<span class="keyword"> const</span></div>
395
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="keyword"> </span>{</div>
396
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
397
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
398
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>();</div>
399
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div>
400
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
401
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
402
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
403
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
404
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">else</span></div>
405
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
406
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>())</div>
407
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; {</div>
408
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
409
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
410
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>())</div>
411
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div>
412
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
413
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div>
414
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>())</div>
415
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
416
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">double</span> thislb = this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
417
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">double</span> thisub = this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
418
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordtype">double</span> otherlb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
419
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordtype">double</span> otherub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
420
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> thislb == otherlb &amp;&amp; thisub == otherub;</div>
421
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
422
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">else</span></div>
423
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
424
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordtype">double</span> thislb = this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
425
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordtype">double</span> thisub = this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
426
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">double</span> otherlb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
427
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordtype">double</span> otherub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
428
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> thislb == otherlb &amp;&amp; thisub == otherub;</div>
429
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
430
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not implemented&quot;</span>);</div>
431
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div>
432
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div>
433
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; </div>
434
- <div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99"> 397</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
435
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
436
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
437
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; {</div>
438
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
439
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div>
440
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span>;</div>
441
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
442
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">else</span></div>
443
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div>
444
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; this-&gt;_lb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
445
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; this-&gt;_ub = other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
446
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div>
447
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div>
448
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
392
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">else</span></div>
393
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div>
394
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>())</div>
395
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div>
396
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
397
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div>
398
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>() &amp;&amp; other.<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>())</div>
399
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; {</div>
400
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
401
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div>
402
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>())</div>
403
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
404
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordtype">double</span> thislb = this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
405
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordtype">double</span> thisub = this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
406
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordtype">double</span> otherlb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
407
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordtype">double</span> otherub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
408
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> thislb == otherlb &amp;&amp; thisub == otherub;</div>
409
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
410
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">else</span></div>
411
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div>
412
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordtype">double</span> thislb = this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
413
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordtype">double</span> thisub = this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
414
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordtype">double</span> otherlb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
415
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordtype">double</span> otherub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
416
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> thislb == otherlb &amp;&amp; thisub == otherub;</div>
417
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
418
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not implemented&quot;</span>);</div>
419
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div>
420
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div>
421
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; </div>
422
+ <div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99"> 383</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
423
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div>
424
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
425
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {</div>
426
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
427
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div>
428
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span>;</div>
429
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
430
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">else</span></div>
431
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div>
432
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; this-&gt;_lb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
433
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; this-&gt;_ub = other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
434
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
435
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
436
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
437
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
438
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">return</span>;</div>
439
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
440
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">else</span></div>
441
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div>
442
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; this-&gt;_lb = min(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
443
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; this-&gt;_ub = max(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
444
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
445
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
446
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; </div>
447
+ <div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144"> 409</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">widen_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
448
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
449
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
449
450
  <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; {</div>
450
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span>;</div>
451
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div>
452
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">else</span></div>
453
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div>
454
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; this-&gt;_lb = min(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
455
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; this-&gt;_ub = max(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
451
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; this-&gt;_lb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
452
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; this-&gt;_ub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
453
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
454
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
455
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; {</div>
456
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">return</span>;</div>
456
457
  <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }</div>
457
- <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div>
458
- <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
459
- <div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144"> 423</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">widen_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
460
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; {</div>
461
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
462
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; {</div>
463
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; this-&gt;_lb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
464
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; this-&gt;_ub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
465
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div>
466
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
458
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">else</span></div>
459
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div>
460
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; this-&gt;_lb = !<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>() : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
461
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; this-&gt;_ub = !<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>() : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
462
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div>
463
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; }</div>
464
+ <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
465
+ <div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f"> 428</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">narrow_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
466
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
467
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
467
468
  <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
468
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">return</span>;</div>
469
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
469
470
  <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
470
- <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">else</span></div>
471
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
471
472
  <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; {</div>
472
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; this-&gt;_lb = !<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>() : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
473
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; this-&gt;_ub = !<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>() : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
474
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div>
475
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div>
476
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; </div>
477
- <div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f"> 442</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">narrow_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
478
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
479
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
480
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; {</div>
481
- <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
482
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div>
483
- <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
473
+ <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span>;</div>
474
+ <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; }</div>
475
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">else</span></div>
476
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; {</div>
477
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a> : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
478
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) ? other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a> : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
479
+ <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
480
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div>
481
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; </div>
482
+ <div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f"> 446</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
483
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div>
484
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
484
485
  <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; {</div>
485
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span>;</div>
486
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
486
487
  <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div>
487
488
  <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">else</span></div>
488
489
  <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; {</div>
489
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; this-&gt;_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a> : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
490
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; this-&gt;_ub = <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>(this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) ? other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a> : this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
491
- <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; }</div>
492
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
493
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; </div>
494
- <div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f"> 460</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;other)</div>
495
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; {</div>
496
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
497
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; {</div>
498
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
499
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div>
500
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">else</span></div>
501
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; {</div>
502
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; this-&gt;_lb = max(this-&gt;_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
503
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; this-&gt;_ub = min(this-&gt;_ub, other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
504
- <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
505
- <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
490
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; this-&gt;_lb = max(this-&gt;_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
491
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; this-&gt;_ub = min(this-&gt;_ub, other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
492
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
493
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
494
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div>
495
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div>
496
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; </div>
497
+ <div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73"> 462</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(<span class="keywordtype">int</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
498
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="keyword"> </span>{</div>
499
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
500
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div>
501
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; </div>
502
+ <div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7"> 467</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">dump</a>(std::ostream &amp;o)<span class="keyword"> const</span></div>
503
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="keyword"> </span>{</div>
504
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
505
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; {</div>
506
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; o &lt;&lt; <span class="stringliteral">&quot;⊥&quot;</span>;</div>
506
507
  <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; }</div>
507
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div>
508
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; </div>
509
- <div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73"> 476</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(<span class="keywordtype">int</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
510
- <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="keyword"> </span>{</div>
511
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">return</span> this-&gt;_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) &amp;&amp; this-&gt;_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
512
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; }</div>
513
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; </div>
514
- <div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7"> 481</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">dump</a>(std::ostream &amp;o)<span class="keyword"> const</span></div>
515
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="keyword"> </span>{</div>
516
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
508
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">else</span></div>
509
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div>
510
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; o &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; this-&gt;_lb &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; this-&gt;_ub &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
511
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; }</div>
512
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
513
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; </div>
514
+ <div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045"> 479</a></span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">toString</a>()<span class="keyword"> const</span></div>
515
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;<span class="keyword"> </span>{</div>
516
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
517
+ <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; std::stringstream rawStr(str);</div>
518
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
517
519
  <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div>
518
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; o &lt;&lt; <span class="stringliteral">&quot;⊥&quot;</span>;</div>
520
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; rawStr &lt;&lt; <span class="stringliteral">&quot;⊥&quot;</span>;</div>
519
521
  <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
520
522
  <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">else</span></div>
521
523
  <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
522
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; o &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; this-&gt;_lb &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; this-&gt;_ub &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
524
+ <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; rawStr &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">to_string</a>() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">to_string</a>() &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
523
525
  <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; }</div>
524
- <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</div>
525
- <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; </div>
526
- <div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045"> 493</a></span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">toString</a>()<span class="keyword"> const</span></div>
527
- <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="keyword"> </span>{</div>
528
- <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
529
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; std::stringstream rawStr(str);</div>
530
- <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
531
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div>
532
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; rawStr &lt;&lt; <span class="stringliteral">&quot;⊥&quot;</span>;</div>
533
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div>
534
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">else</span></div>
535
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div>
536
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; rawStr &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">to_string</a>() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">to_string</a>() &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
537
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div>
538
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> rawStr.str();</div>
539
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
540
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; </div>
541
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;}; <span class="comment">// end class IntervalValue</span></div>
542
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; </div>
543
- <div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa"> 511</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa">operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
544
- <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
545
- <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div>
546
- <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
547
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div>
548
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
549
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; }</div>
550
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
526
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">return</span> rawStr.str();</div>
527
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; }</div>
528
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; </div>
529
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;}; <span class="comment">// end class IntervalValue</span></div>
530
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; </div>
531
+ <div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa"> 497</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa">operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
532
+ <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
533
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;{</div>
534
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
535
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div>
536
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
537
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div>
538
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
539
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div>
540
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
541
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div>
542
+ <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">else</span></div>
543
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div>
544
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
545
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div>
546
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;}</div>
547
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; </div>
548
+ <div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36"> 515</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">operator-</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
549
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
550
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;{</div>
551
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
551
552
  <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div>
552
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
553
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
553
554
  <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div>
554
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">else</span></div>
555
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
555
556
  <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div>
556
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
557
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
557
558
  <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div>
558
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;}</div>
559
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; </div>
560
- <div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36"> 529</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">operator-</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
561
- <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
562
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;{</div>
563
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
564
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div>
565
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
566
- <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div>
567
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
559
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">else</span></div>
560
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div>
561
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() - rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() - rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
562
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div>
563
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;}</div>
564
+ <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; </div>
565
+ <div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1"> 533</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">operator*</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
566
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
567
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{</div>
568
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
568
569
  <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; {</div>
569
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
570
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
570
571
  <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; }</div>
571
572
  <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">else</span></div>
572
573
  <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div>
573
- <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() - rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() - rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
574
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div>
575
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div>
576
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; </div>
577
- <div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1"> 547</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">operator*</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
578
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
579
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;{</div>
580
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
581
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; {</div>
582
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
583
- <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; }</div>
584
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">else</span></div>
585
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div>
586
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
587
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
588
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
589
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
590
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
591
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
592
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
574
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
575
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
576
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
577
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
578
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
579
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
580
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
581
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div>
582
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;}</div>
583
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; </div>
584
+ <div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468"> 553</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">operator/</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
585
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
586
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;{</div>
587
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
588
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div>
589
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
590
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div>
591
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
592
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; {</div>
593
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
593
594
  <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div>
594
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div>
595
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; </div>
596
- <div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468"> 567</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">operator/</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
597
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
598
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;{</div>
599
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
600
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div>
601
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
602
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div>
603
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
604
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div>
605
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
606
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div>
607
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordflow">else</span></div>
608
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; {</div>
609
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="comment">// Neither the dividend nor the divisor contains 0</span></div>
610
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
611
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
612
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
613
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
614
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
615
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; </div>
616
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
617
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
595
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">else</span></div>
596
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; {</div>
597
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="comment">// Neither the dividend nor the divisor contains 0</span></div>
598
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
599
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
600
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
601
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
602
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
603
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; </div>
604
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
605
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
606
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div>
607
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;}</div>
608
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; </div>
609
+ <div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d"> 579</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">operator%</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
610
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
611
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;{</div>
612
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
613
+ <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div>
614
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
615
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; }</div>
616
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
617
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div>
618
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
618
619
  <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div>
619
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;}</div>
620
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; </div>
621
- <div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d"> 593</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">operator%</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs,</div>
622
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
623
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;{</div>
624
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
625
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div>
626
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
627
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; }</div>
628
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
629
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; {</div>
630
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
631
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; }</div>
632
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
633
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div>
634
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() % rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() % rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
635
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; }</div>
636
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">else</span></div>
637
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; {</div>
638
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> n_ub = max(abs(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()), abs(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()));</div>
639
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> d_ub = max(abs(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) - 1;</div>
640
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ub = min(n_ub, d_ub);</div>
641
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; </div>
642
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; 0)</div>
643
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div>
644
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt; 0)</div>
645
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; {</div>
646
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(-ub, ub);</div>
647
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; }</div>
648
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">else</span></div>
649
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {</div>
650
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(-ub, 0);</div>
651
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; }</div>
652
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; }</div>
653
- <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">else</span></div>
654
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; {</div>
655
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, ub);</div>
656
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
657
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; }</div>
658
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;}</div>
659
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; </div>
660
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;<span class="comment">// Compare two IntervalValues for greater than</span></div>
661
- <div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2"> 633</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
662
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div>
663
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
664
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
665
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; {</div>
666
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
667
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; }</div>
668
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
669
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
670
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div>
671
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
672
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
673
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">else</span></div>
674
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
675
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
676
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
677
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div>
678
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.lb()? true: false</span></div>
679
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
680
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; }</div>
681
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">else</span></div>
682
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; {</div>
683
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="comment">// Return [1,1] means lhs is totally greater than rhs</span></div>
684
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="comment">// When lhs.lb &gt; rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
685
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="comment">// lhs.lb(3) &gt; rhs.ub(2)</span></div>
686
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.ub()</span></div>
687
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
688
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; {</div>
689
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
690
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div>
691
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than rhs</span></div>
692
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="comment">// i.e., lhs is totally less than or equal to rhs</span></div>
693
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="comment">// When lhs.ub &lt;= rhs.lb, e.g., lhs:[3, 4] rhs:[4,5]</span></div>
694
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="comment">// lhs.ub(4) &lt;= rhs.lb(4)</span></div>
695
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
696
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div>
697
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
698
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div>
699
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="comment">// For other cases, lhs can be greater than or not, depending on the values</span></div>
700
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
701
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="comment">// lhs can be greater than rhs if lhs is 4 and rhs is 1.</span></div>
702
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="comment">// lhs can also not be greater than rhs if lhs is 2 and rhs is 3</span></div>
703
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">else</span></div>
704
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; {</div>
705
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
706
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div>
707
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div>
708
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div>
709
- <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;}</div>
710
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; </div>
711
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment">// Compare two IntervalValues for less than</span></div>
712
- <div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b"> 684</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
713
- <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;{</div>
714
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
715
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
716
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div>
717
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
718
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div>
719
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
720
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
721
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; {</div>
722
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
723
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; }</div>
724
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">else</span></div>
725
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; {</div>
726
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
727
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
728
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; {</div>
729
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="comment">// It means lhs.lb() &lt; rhs.lb()? true: false</span></div>
730
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
731
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div>
732
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span></div>
733
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
734
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="comment">// Return [1,1] means lhs is totally less than rhs</span></div>
735
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="comment">// When lhs.ub &lt; rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
736
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="comment">// lhs.ub(2) &lt; rhs.lb(3)</span></div>
737
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="comment">// It means lhs.ub() &lt; rhs.lb()</span></div>
738
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
739
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; {</div>
740
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
741
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; }</div>
742
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be less than rhs</span></div>
743
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">// i.e., lhs is totally greater than or equal to rhs</span></div>
744
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">// When lhs.lb &gt;= rhs.ub, e.g., lhs:[4,5] rhs:[3,4]</span></div>
745
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">// lhs.lb(4) &gt;= rhs.ub(4)</span></div>
746
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
747
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div>
748
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
749
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
750
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="comment">// For other cases, lhs can be less than rhs or not, depending on the values</span></div>
751
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
752
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="comment">// lhs can be less than rhs if lhs is 2, rhs is 3.</span></div>
753
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">// lhs can also not be less than rhs if lhs is 4 and rhs is 1</span></div>
754
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">else</span></div>
755
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; {</div>
756
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
757
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div>
758
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; }</div>
759
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; }</div>
760
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;}</div>
761
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; </div>
762
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; </div>
763
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;<span class="comment">// Compare two IntervalValues for greater than or equal to</span></div>
764
- <div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24"> 736</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
765
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;{</div>
766
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
767
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
768
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; {</div>
769
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
770
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div>
771
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
772
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
773
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; {</div>
774
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
775
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; }</div>
776
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">else</span></div>
777
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; {</div>
778
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
779
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
780
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; {</div>
781
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
782
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
783
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">else</span></div>
784
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; {</div>
785
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="comment">// Return [1,1] means lhs is totally greater than or equal to rhs</span></div>
786
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="comment">// When lhs.lb &gt;= rhs.ub, e.g., lhs:[2, 3] rhs:[1, 2]</span></div>
787
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="comment">// lhs.lb(2) &gt;= rhs.ub(2)</span></div>
788
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
789
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; {</div>
790
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
791
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; }</div>
792
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than or equal to rhs</span></div>
793
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">// i.e., lhs is totally less than rhs</span></div>
794
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">// When lhs.ub &lt; rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
795
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="comment">// lhs.ub(2) &lt; rhs.lb(3)</span></div>
796
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">// It means lhs.ub() &lt; rhs.lb()</span></div>
797
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
798
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; {</div>
799
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
800
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; }</div>
801
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="comment">// For other cases, lhs can be greater than or equal to rhs or not, depending on the values</span></div>
802
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
803
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="comment">// lhs can be greater than or equal to rhs if lhs is 3, rhs is 2.</span></div>
804
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="comment">// lhs can also not be greater than or equal to rhs if lhs is 2 and rhs is 3</span></div>
805
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">else</span></div>
806
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; {</div>
807
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
808
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div>
809
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; }</div>
810
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; }</div>
811
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;}</div>
812
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; </div>
813
- <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="comment">// Compare two IntervalValues for less than or equal to</span></div>
814
- <div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293"> 786</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
815
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;{</div>
816
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
817
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
818
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; {</div>
819
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
820
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; }</div>
821
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
822
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
823
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; {</div>
824
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
825
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; }</div>
826
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">else</span></div>
827
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; {</div>
828
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
829
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
830
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div>
831
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
832
- <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div>
833
- <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">else</span></div>
834
- <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div>
835
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="comment">// Return [1,1] means lhs is totally less than or equal to rhs</span></div>
836
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="comment">// When lhs.ub &lt;= rhs.lb, e.g., lhs:[1, 2] rhs:[2, 3]</span></div>
837
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="comment">// lhs.ub(2) &lt;= rhs.lb(2)</span></div>
838
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
839
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div>
840
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
841
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; }</div>
842
- <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be less than or equal to rhs</span></div>
843
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="comment">// i.e., lhs is totally greater than rhs</span></div>
844
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="comment">// When lhs.lb &gt; rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
845
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="comment">// lhs.lb(3) &gt; rhs.ub(2)</span></div>
846
- <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.ub()</span></div>
847
- <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
848
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
849
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
850
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div>
851
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="comment">// For other cases, lhs can be less than or equal to rhs or not, depending on the values</span></div>
852
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
853
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="comment">// lhs can be less than or equal to rhs if lhs is 3, rhs is 3.</span></div>
854
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="comment">// lhs can also not be less than or equal to rhs if lhs is 3 and rhs is 2</span></div>
855
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">else</span></div>
856
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div>
857
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
858
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; }</div>
859
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div>
860
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; }</div>
861
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;}</div>
862
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; </div>
863
- <div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6"> 836</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
864
- <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;{</div>
865
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="comment">//TODO: implement &lt;&lt;</span></div>
866
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
867
- <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
868
- <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
869
- <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
870
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">else</span></div>
871
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; {</div>
872
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> shift = rhs;</div>
873
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>()));</div>
874
- <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (shift.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
875
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
876
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> coeff(1 &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(),</div>
877
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>() : 1</div>
878
- <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
879
- <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keywordflow">return</span> lhs * coeff;</div>
880
- <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; }</div>
881
- <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;}</div>
882
- <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; </div>
883
- <div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee"> 857</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee">operator&gt;&gt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
884
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;{</div>
885
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="comment">//TODO: implement &gt;&gt;</span></div>
886
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
887
- <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
888
- <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
889
- <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
890
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">else</span></div>
891
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; {</div>
892
- <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> shift = rhs;</div>
893
- <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>()));</div>
894
- <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">if</span> (shift.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
895
- <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
896
- <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
897
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; {</div>
898
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> l(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), -1);</div>
899
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> u(1, lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
900
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> tmp = l &gt;&gt; rhs;</div>
901
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; tmp.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(u &gt;&gt; rhs);</div>
902
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; tmp.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0));</div>
903
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">return</span> tmp;</div>
904
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; }</div>
905
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">else</span></div>
906
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; {</div>
907
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
908
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
909
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
910
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
911
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
912
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
913
- <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
914
- <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; }</div>
915
- <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; }</div>
916
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;}</div>
917
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; </div>
918
- <div class="line"><a name="l00893"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2"> 893</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
919
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;{</div>
920
- <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
921
- <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
922
- <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
923
- <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; {</div>
924
- <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() &amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
925
- <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; }</div>
926
- <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0)</div>
927
- <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; {</div>
928
- <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, min(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()));</div>
929
- <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div>
930
- <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0)</div>
931
- <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div>
932
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
933
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; }</div>
934
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0)</div>
935
- <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div>
936
- <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
937
- <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; }</div>
938
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <span class="keywordflow">else</span></div>
939
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; {</div>
940
- <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
941
- <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; }</div>
942
- <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;}</div>
943
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; </div>
944
- <div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8"> 920</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">operator|</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
945
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;{</div>
946
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
620
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
621
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; {</div>
622
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() % rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() % rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
623
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div>
624
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">else</span></div>
625
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; {</div>
626
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> n_ub = max(abs(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()), abs(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()));</div>
627
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> d_ub = max(abs(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) - 1;</div>
628
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ub = min(n_ub, d_ub);</div>
629
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; </div>
630
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; 0)</div>
631
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; {</div>
632
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt; 0)</div>
633
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; {</div>
634
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(-ub, ub);</div>
635
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div>
636
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">else</span></div>
637
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div>
638
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(-ub, 0);</div>
639
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div>
640
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; }</div>
641
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">else</span></div>
642
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; {</div>
643
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, ub);</div>
644
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; }</div>
645
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div>
646
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;}</div>
647
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; </div>
648
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="comment">// Compare two IntervalValues for greater than</span></div>
649
+ <div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2"> 619</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
650
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;{</div>
651
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
652
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
653
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; {</div>
654
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
655
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; }</div>
656
+ <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
657
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
658
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div>
659
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
660
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div>
661
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">else</span></div>
662
+ <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; {</div>
663
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
664
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
665
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div>
666
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.lb()? true: false</span></div>
667
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
668
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div>
669
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">else</span></div>
670
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; {</div>
671
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="comment">// Return [1,1] means lhs is totally greater than rhs</span></div>
672
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="comment">// When lhs.lb &gt; rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
673
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="comment">// lhs.lb(3) &gt; rhs.ub(2)</span></div>
674
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.ub()</span></div>
675
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
676
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
677
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
678
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; }</div>
679
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than rhs</span></div>
680
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="comment">// i.e., lhs is totally less than or equal to rhs</span></div>
681
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="comment">// When lhs.ub &lt;= rhs.lb, e.g., lhs:[3, 4] rhs:[4,5]</span></div>
682
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="comment">// lhs.ub(4) &lt;= rhs.lb(4)</span></div>
683
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
684
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; {</div>
685
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
686
+ <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; }</div>
687
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="comment">// For other cases, lhs can be greater than or not, depending on the values</span></div>
688
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
689
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// lhs can be greater than rhs if lhs is 4 and rhs is 1.</span></div>
690
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">// lhs can also not be greater than rhs if lhs is 2 and rhs is 3</span></div>
691
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">else</span></div>
692
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div>
693
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
694
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div>
695
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; }</div>
696
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; }</div>
697
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;}</div>
698
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; </div>
699
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;<span class="comment">// Compare two IntervalValues for less than</span></div>
700
+ <div class="line"><a name="l00670"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b"> 670</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
701
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;{</div>
702
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
703
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
704
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div>
705
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
706
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div>
707
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
708
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
709
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div>
710
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
711
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div>
712
+ <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">else</span></div>
713
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div>
714
+ <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
715
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
716
+ <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div>
717
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="comment">// It means lhs.lb() &lt; rhs.lb()? true: false</span></div>
718
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
719
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; }</div>
720
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">else</span></div>
721
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; {</div>
722
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">// Return [1,1] means lhs is totally less than rhs</span></div>
723
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="comment">// When lhs.ub &lt; rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
724
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="comment">// lhs.ub(2) &lt; rhs.lb(3)</span></div>
725
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="comment">// It means lhs.ub() &lt; rhs.lb()</span></div>
726
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
727
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; {</div>
728
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
729
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; }</div>
730
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be less than rhs</span></div>
731
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="comment">// i.e., lhs is totally greater than or equal to rhs</span></div>
732
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="comment">// When lhs.lb &gt;= rhs.ub, e.g., lhs:[4,5] rhs:[3,4]</span></div>
733
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="comment">// lhs.lb(4) &gt;= rhs.ub(4)</span></div>
734
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
735
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
736
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
737
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; }</div>
738
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="comment">// For other cases, lhs can be less than rhs or not, depending on the values</span></div>
739
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
740
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="comment">// lhs can be less than rhs if lhs is 2, rhs is 3.</span></div>
741
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="comment">// lhs can also not be less than rhs if lhs is 4 and rhs is 1</span></div>
742
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">else</span></div>
743
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; {</div>
744
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
745
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; }</div>
746
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div>
747
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div>
748
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;}</div>
749
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; </div>
750
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; </div>
751
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="comment">// Compare two IntervalValues for greater than or equal to</span></div>
752
+ <div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24"> 722</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
753
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;{</div>
754
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
755
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
756
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div>
757
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
758
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div>
759
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
760
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
761
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div>
762
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
763
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div>
764
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">else</span></div>
765
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {</div>
766
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
767
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
768
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; {</div>
769
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
770
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div>
771
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">else</span></div>
772
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; {</div>
773
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="comment">// Return [1,1] means lhs is totally greater than or equal to rhs</span></div>
774
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">// When lhs.lb &gt;= rhs.ub, e.g., lhs:[2, 3] rhs:[1, 2]</span></div>
775
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="comment">// lhs.lb(2) &gt;= rhs.ub(2)</span></div>
776
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
777
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; {</div>
778
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
779
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; }</div>
780
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than or equal to rhs</span></div>
781
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="comment">// i.e., lhs is totally less than rhs</span></div>
782
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="comment">// When lhs.ub &lt; rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
783
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="comment">// lhs.ub(2) &lt; rhs.lb(3)</span></div>
784
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="comment">// It means lhs.ub() &lt; rhs.lb()</span></div>
785
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
786
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; {</div>
787
+ <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
788
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; }</div>
789
+ <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="comment">// For other cases, lhs can be greater than or equal to rhs or not, depending on the values</span></div>
790
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
791
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="comment">// lhs can be greater than or equal to rhs if lhs is 3, rhs is 2.</span></div>
792
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="comment">// lhs can also not be greater than or equal to rhs if lhs is 2 and rhs is 3</span></div>
793
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">else</span></div>
794
+ <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; {</div>
795
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
796
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; }</div>
797
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; }</div>
798
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; }</div>
799
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;}</div>
800
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; </div>
801
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="comment">// Compare two IntervalValues for less than or equal to</span></div>
802
+ <div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293"> 772</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
803
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;{</div>
804
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
805
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
806
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; {</div>
807
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
808
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
809
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
810
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
811
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div>
812
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
813
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div>
814
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">else</span></div>
815
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; {</div>
816
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
817
+ <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
818
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; {</div>
819
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
820
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; }</div>
821
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">else</span></div>
822
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
823
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="comment">// Return [1,1] means lhs is totally less than or equal to rhs</span></div>
824
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="comment">// When lhs.ub &lt;= rhs.lb, e.g., lhs:[1, 2] rhs:[2, 3]</span></div>
825
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="comment">// lhs.ub(2) &lt;= rhs.lb(2)</span></div>
826
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
827
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div>
828
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
829
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div>
830
+ <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be less than or equal to rhs</span></div>
831
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="comment">// i.e., lhs is totally greater than rhs</span></div>
832
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="comment">// When lhs.lb &gt; rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
833
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="comment">// lhs.lb(3) &gt; rhs.ub(2)</span></div>
834
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.ub()</span></div>
835
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
836
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div>
837
+ <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
838
+ <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; }</div>
839
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="comment">// For other cases, lhs can be less than or equal to rhs or not, depending on the values</span></div>
840
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
841
+ <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="comment">// lhs can be less than or equal to rhs if lhs is 3, rhs is 3.</span></div>
842
+ <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="comment">// lhs can also not be less than or equal to rhs if lhs is 3 and rhs is 2</span></div>
843
+ <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keywordflow">else</span></div>
844
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; {</div>
845
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
846
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; }</div>
847
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; }</div>
848
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div>
849
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;}</div>
850
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; </div>
851
+ <div class="line"><a name="l00822"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6"> 822</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
852
+ <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;{</div>
853
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="comment">//TODO: implement &lt;&lt;</span></div>
854
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
855
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
856
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
857
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
858
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">else</span></div>
859
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; {</div>
860
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> shift = rhs;</div>
861
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>()));</div>
862
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="keywordflow">if</span> (shift.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
863
+ <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
864
+ <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> coeff(1 &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(),</div>
865
+ <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>() : 1</div>
866
+ <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
867
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">return</span> lhs * coeff;</div>
868
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; }</div>
869
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;}</div>
870
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; </div>
871
+ <div class="line"><a name="l00843"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee"> 843</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee">operator&gt;&gt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
872
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;{</div>
873
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="comment">//TODO: implement &gt;&gt;</span></div>
874
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
875
+ <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
876
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">isTop</a>())</div>
877
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
878
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="keywordflow">else</span></div>
879
+ <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; {</div>
880
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> shift = rhs;</div>
881
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>()));</div>
882
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">if</span> (shift.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
883
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
884
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
885
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; {</div>
886
+ <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> l(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), -1);</div>
887
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> u(1, lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
888
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> tmp = l &gt;&gt; rhs;</div>
889
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; tmp.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(u &gt;&gt; rhs);</div>
890
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; tmp.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0));</div>
891
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span> tmp;</div>
892
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; }</div>
893
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">else</span></div>
894
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; {</div>
895
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
896
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
897
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
898
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() &gt;&gt; shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
899
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
900
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
901
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
902
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; }</div>
903
+ <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; }</div>
904
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;}</div>
905
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; </div>
906
+ <div class="line"><a name="l00879"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2"> 879</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">operator&amp;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
907
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;{</div>
908
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
909
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
910
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
911
+ <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div>
912
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() &amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
913
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; }</div>
914
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0)</div>
915
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; {</div>
916
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, min(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()));</div>
917
+ <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; }</div>
918
+ <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0)</div>
919
+ <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; {</div>
920
+ <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
921
+ <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; }</div>
922
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0)</div>
923
+ <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; {</div>
924
+ <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
925
+ <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div>
926
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">else</span></div>
927
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; {</div>
928
+ <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
929
+ <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; }</div>
930
+ <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;}</div>
931
+ <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; </div>
932
+ <div class="line"><a name="l00906"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8"> 906</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">operator|</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
933
+ <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;{</div>
934
+ <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
935
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; {</div>
936
+ <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
937
+ <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
938
+ <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; {</div>
939
+ <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; ++i;</div>
940
+ <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; }</div>
941
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
942
+ <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; };</div>
943
+ <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
944
+ <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
945
+ <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
946
+ <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() | rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
947
+ <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() &amp;&amp;</div>
948
+ <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>())</div>
947
949
  <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; {</div>
948
- <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
949
- <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
950
- <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; {</div>
951
- <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; ++i;</div>
952
- <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
953
- <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
954
- <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; };</div>
955
- <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
956
- <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
957
- <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
958
- <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() | rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
959
- <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() &amp;&amp;</div>
960
- <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>())</div>
961
- <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; {</div>
962
- <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
963
- <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = next_power_of_2(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>(m+1));</div>
964
- <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
965
- <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div>
966
- <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">else</span></div>
967
- <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div>
968
- <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
969
- <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div>
970
- <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;}</div>
971
- <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; </div>
972
- <div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d"> 949</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">operator^</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
973
- <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;{</div>
974
- <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
950
+ <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
951
+ <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = next_power_of_2(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>(m+1));</div>
952
+ <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
953
+ <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div>
954
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">else</span></div>
955
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; {</div>
956
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
957
+ <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; }</div>
958
+ <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;}</div>
959
+ <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; </div>
960
+ <div class="line"><a name="l00935"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d"> 935</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">operator^</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;rhs)</div>
961
+ <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160;{</div>
962
+ <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
963
+ <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; {</div>
964
+ <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
965
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
966
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; {</div>
967
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; ++i;</div>
968
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; }</div>
969
+ <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
970
+ <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; };</div>
971
+ <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">isBottom</a>())</div>
972
+ <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
973
+ <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
974
+ <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() ^ rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
975
+ <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() &amp;&amp;</div>
976
+ <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>())</div>
975
977
  <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; {</div>
976
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
977
- <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
978
- <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
979
- <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; ++i;</div>
980
- <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; }</div>
981
- <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
982
- <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; };</div>
983
- <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
984
- <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
985
- <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() &amp;&amp; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
986
- <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() ^ rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
987
- <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() &amp;&amp;</div>
988
- <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &gt;= 0 &amp;&amp; !rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>())</div>
989
- <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; {</div>
990
- <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
991
- <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = next_power_of_2(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>(m+1));</div>
992
- <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
993
- <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; }</div>
994
- <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">else</span></div>
995
- <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div>
996
- <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
997
- <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div>
998
- <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;}</div>
999
- <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; </div>
1000
- <div class="line"><a name="l00978"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a9f1d12be8c396b73b5a37de2061a24b0"> 978</a></span>&#160;<span class="keyword">inline</span> std::ostream &amp;<a class="code" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">operator&lt;&lt;</a>(std::ostream &amp;o,</div>
1001
- <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>)</div>
1002
- <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;{</div>
1003
- <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>.<a class="code" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">dump</a>(o);</div>
1004
- <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">return</span> o;</div>
1005
- <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160;}</div>
1006
- <div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; </div>
1007
- <div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;} <span class="comment">// end namespace SVF</span></div>
1008
- <div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;<span class="preprocessor">#endif //Z3_EXAMPLE_IntervalValue_H</span></div>
978
+ <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
979
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = next_power_of_2(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>(m+1));</div>
980
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
981
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; }</div>
982
+ <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <span class="keywordflow">else</span></div>
983
+ <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; {</div>
984
+ <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
985
+ <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; }</div>
986
+ <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;}</div>
987
+ <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; </div>
988
+ <div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a9f1d12be8c396b73b5a37de2061a24b0"> 964</a></span>&#160;<span class="keyword">inline</span> std::ostream &amp;<a class="code" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">operator&lt;&lt;</a>(std::ostream &amp;o,</div>
989
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>)</div>
990
+ <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;{</div>
991
+ <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>.<a class="code" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">dump</a>(o);</div>
992
+ <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keywordflow">return</span> o;</div>
993
+ <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;}</div>
994
+ <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; </div>
995
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;} <span class="comment">// end namespace SVF</span></div>
996
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;<span class="preprocessor">#endif //Z3_EXAMPLE_IntervalValue_H</span></div>
1009
997
  </div><!-- fragment --></div><!-- contents -->
1010
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a2dd004dda59ee5271081afd082374039"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">SVF::IntervalValue::leq</a></div><div class="ttdeci">bool leq(const IntervalValue &amp;other) const</div><div class="ttdoc">Check current IntervalValue is smaller than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00320">IntervalValue.h:320</a></div></div>
998
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a2dd004dda59ee5271081afd082374039"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">SVF::IntervalValue::leq</a></div><div class="ttdeci">bool leq(const IntervalValue &amp;other) const</div><div class="ttdoc">Check current IntervalValue is smaller than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00306">IntervalValue.h:306</a></div></div>
1011
999
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac154ddeb6516e240e091f4867c4c3593"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">SVF::NumericLiteral::to_string</a></div><div class="ttdeci">const std::string to_string() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00092">NumericLiteral.h:92</a></div></div>
1012
1000
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3ac170a902accf8d84b6b77ab88a8fd3"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3ac170a902accf8d84b6b77ab88a8fd3">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u32_t n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00102">IntervalValue.h:102</a></div></div>
1013
1001
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ad51535cb50a03df7a439b4e5b5d305f0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue()</div><div class="ttdoc">Create default IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00095">IntervalValue.h:95</a></div></div>
1014
1002
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a739ab04e16ec1156be71b29d49998a4f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">SVF::IntervalValue::plus_infinity</a></div><div class="ttdeci">static NumericLiteral plus_infinity()</div><div class="ttdoc">Get plus infinity +oo.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00072">IntervalValue.h:72</a></div></div>
1015
1003
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3c00a3b16192645f667a88bf636f01ff"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">SVF::IntervalValue::_ub</a></div><div class="ttdeci">NumericLiteral _ub</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00050">IntervalValue.h:50</a></div></div>
1016
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa13c0ab01450d10c9603ea46f0fe3293"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293">SVF::IntervalValue::getRealNumeral</a></div><div class="ttdeci">double getRealNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00293">IntervalValue.h:293</a></div></div>
1017
- <div class="ttc" id="anamespaceSVF_html_a1dab362b7d3da3375b60c94e78275293"><div class="ttname"><a href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293">SVF::operator&lt;=</a></div><div class="ttdeci">IntervalValue operator&lt;=(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00786">IntervalValue.h:786</a></div></div>
1018
- <div class="ttc" id="anamespaceSVF_html_ad9d56b31ab074c813b48da4c2e0742aa"><div class="ttname"><a href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa">SVF::operator+</a></div><div class="ttdeci">IntervalValue operator+(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Add IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00511">IntervalValue.h:511</a></div></div>
1019
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a20d391da7bcd46a14c5ec1960aee2536"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">SVF::IntervalValue::is_int</a></div><div class="ttdeci">bool is_int() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00264">IntervalValue.h:264</a></div></div>
1020
- <div class="ttc" id="aAbstractValue_8h_html"><div class="ttname"><a href="AbstractValue_8h.html">AbstractValue.h</a></div></div>
1021
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a72d89f686c6239c43ea1ea6fcab3062a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a">SVF::IntervalValue::classof</a></div><div class="ttdeci">static bool classof(const AbstractValue *v)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00213">IntervalValue.h:213</a></div></div>
1022
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00220">IntervalValue.h:220</a></div></div>
1023
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a18d0f2c15ea6fc84dfa28ca494423af9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">SVF::IntervalValue::operator!=</a></div><div class="ttdeci">IntervalValue operator!=(const IntervalValue &amp;other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00171">IntervalValue.h:171</a></div></div>
1004
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa13c0ab01450d10c9603ea46f0fe3293"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293">SVF::IntervalValue::getRealNumeral</a></div><div class="ttdeci">double getRealNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00279">IntervalValue.h:279</a></div></div>
1005
+ <div class="ttc" id="anamespaceSVF_html_a1dab362b7d3da3375b60c94e78275293"><div class="ttname"><a href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293">SVF::operator&lt;=</a></div><div class="ttdeci">IntervalValue operator&lt;=(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00772">IntervalValue.h:772</a></div></div>
1006
+ <div class="ttc" id="anamespaceSVF_html_ad9d56b31ab074c813b48da4c2e0742aa"><div class="ttname"><a href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa">SVF::operator+</a></div><div class="ttdeci">IntervalValue operator+(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Add IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00497">IntervalValue.h:497</a></div></div>
1007
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a20d391da7bcd46a14c5ec1960aee2536"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">SVF::IntervalValue::is_int</a></div><div class="ttdeci">bool is_int() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00250">IntervalValue.h:250</a></div></div>
1008
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00206">IntervalValue.h:206</a></div></div>
1009
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a18d0f2c15ea6fc84dfa28ca494423af9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">SVF::IntervalValue::operator!=</a></div><div class="ttdeci">IntervalValue operator!=(const IntervalValue &amp;other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00170">IntervalValue.h:170</a></div></div>
1024
1010
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
1025
1011
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a926ca60622fdcd225ef7d8b7fd4054b2"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a926ca60622fdcd225ef7d8b7fd4054b2">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s32_t n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00100">IntervalValue.h:100</a></div></div>
1026
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a144e17cec654e83654298b379ed4ce9f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">SVF::IntervalValue::meet_with</a></div><div class="ttdeci">void meet_with(const IntervalValue &amp;other)</div><div class="ttdoc">Return a intersected IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00460">IntervalValue.h:460</a></div></div>
1027
- <div class="ttc" id="anamespaceSVF_html_abf0dfb872989751b13069f859ef408e1"><div class="ttname"><a href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">SVF::operator*</a></div><div class="ttdeci">IntervalValue operator*(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Multiply IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00547">IntervalValue.h:547</a></div></div>
1012
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a144e17cec654e83654298b379ed4ce9f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">SVF::IntervalValue::meet_with</a></div><div class="ttdeci">void meet_with(const IntervalValue &amp;other)</div><div class="ttdoc">Return a intersected IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00446">IntervalValue.h:446</a></div></div>
1013
+ <div class="ttc" id="anamespaceSVF_html_abf0dfb872989751b13069f859ef408e1"><div class="ttname"><a href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">SVF::operator*</a></div><div class="ttdeci">IntervalValue operator*(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Multiply IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00533">IntervalValue.h:533</a></div></div>
1028
1014
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a8d874a7b6396e8af210c4a36d3234d71"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">SVF::NumericLiteral::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Check if this is zero.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00116">NumericLiteral.h:116</a></div></div>
1029
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa3b742bd0116a6b7bf290286902b470b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">SVF::IntervalValue::setUb</a></div><div class="ttdeci">void setUb(const NumericLiteral &amp;ub)</div><div class="ttdoc">Set the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00240">IntervalValue.h:240</a></div></div>
1030
- <div class="ttc" id="anamespaceSVF_html_af95793adab8fb9aa19e19027e73372a6"><div class="ttname"><a href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">SVF::operator&lt;&lt;</a></div><div class="ttdeci">IntervalValue operator&lt;&lt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00836">IntervalValue.h:836</a></div></div>
1031
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac06d554ff5f63c43f9b02378800488c1"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">SVF::IntervalValue::equals</a></div><div class="ttdeci">bool equals(const IntervalValue &amp;other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00356">IntervalValue.h:356</a></div></div>
1015
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa3b742bd0116a6b7bf290286902b470b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">SVF::IntervalValue::setUb</a></div><div class="ttdeci">void setUb(const NumericLiteral &amp;ub)</div><div class="ttdoc">Set the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00226">IntervalValue.h:226</a></div></div>
1016
+ <div class="ttc" id="anamespaceSVF_html_af95793adab8fb9aa19e19027e73372a6"><div class="ttname"><a href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">SVF::operator&lt;&lt;</a></div><div class="ttdeci">IntervalValue operator&lt;&lt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00822">IntervalValue.h:822</a></div></div>
1017
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac06d554ff5f63c43f9b02378800488c1"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">SVF::IntervalValue::equals</a></div><div class="ttdeci">bool equals(const IntervalValue &amp;other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00342">IntervalValue.h:342</a></div></div>
1032
1018
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa339a88f42bea8c1adfe0db8ba3a5d2a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa339a88f42bea8c1adfe0db8ba3a5d2a">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(NumericLiteral n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00106">IntervalValue.h:106</a></div></div>
1033
1019
  <div class="ttc" id="anamespaceSVF_html_a366625858f450a1ea5f985a3c83e0f14"><div class="ttname"><a href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">SVF::u64_t</a></div><div class="ttdeci">unsigned long long u64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00048">GeneralType.h:48</a></div></div>
1034
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a35e3062c24a13ac4ed50729339408f65"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u64_t lb, u64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00122">IntervalValue.h:122</a></div></div>
1020
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a35e3062c24a13ac4ed50729339408f65"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u64_t lb, u64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00121">IntervalValue.h:121</a></div></div>
1035
1021
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a43f48c744f7bda0dc689b8f186449371"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">SVF::IntervalValue::minus_infinity</a></div><div class="ttdeci">static NumericLiteral minus_infinity()</div><div class="ttdoc">Get minus infinity -oo.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00066">IntervalValue.h:66</a></div></div>
1036
- <div class="ttc" id="aclassSVF_1_1AbstractValue_html"><div class="ttname"><a href="classSVF_1_1AbstractValue.html">SVF::AbstractValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00044">AbstractValue.h:44</a></div></div>
1037
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a5d73cc2aa0a6ed49e8301fa7b0cd5045"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">SVF::IntervalValue::toString</a></div><div class="ttdeci">const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00493">IntervalValue.h:493</a></div></div>
1038
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
1039
- <div class="ttc" id="anamespaceSVF_html_abed4354cf0282ae30b8330c0e91008d8"><div class="ttname"><a href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">SVF::operator|</a></div><div class="ttdeci">IntervalValue operator|(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Bitwise OR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00920">IntervalValue.h:920</a></div></div>
1040
- <div class="ttc" id="anamespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator&lt;</a></div><div class="ttdeci">IntervalValue operator&lt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00684">IntervalValue.h:684</a></div></div>
1041
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ab7ddcc29a116944a91db24af90d4c144"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">SVF::IntervalValue::widen_with</a></div><div class="ttdeci">void widen_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue widen with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00423">IntervalValue.h:423</a></div></div>
1022
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a5d73cc2aa0a6ed49e8301fa7b0cd5045"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">SVF::IntervalValue::toString</a></div><div class="ttdeci">const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00479">IntervalValue.h:479</a></div></div>
1023
+ <div class="ttc" id="anamespaceSVF_html_abed4354cf0282ae30b8330c0e91008d8"><div class="ttname"><a href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">SVF::operator|</a></div><div class="ttdeci">IntervalValue operator|(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Bitwise OR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00906">IntervalValue.h:906</a></div></div>
1024
+ <div class="ttc" id="anamespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator&lt;</a></div><div class="ttdeci">IntervalValue operator&lt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00670">IntervalValue.h:670</a></div></div>
1025
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ab7ddcc29a116944a91db24af90d4c144"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">SVF::IntervalValue::widen_with</a></div><div class="ttdeci">void widen_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue widen with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00409">IntervalValue.h:409</a></div></div>
1042
1026
  <div class="ttc" id="acJSON_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>
1043
1027
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0827c976d921894e89ca4ac88ecf3f95"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">SVF::IntervalValue::_lb</a></div><div class="ttdeci">NumericLiteral _lb</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00047">IntervalValue.h:47</a></div></div>
1028
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a1fc899db5c37229692782406ad56f34f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a1fc899db5c37229692782406ad56f34f">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
1044
1029
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3dba35c84607bd3ed4e62a90ae2799cf"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3dba35c84607bd3ed4e62a90ae2799cf">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">static bool is_infinite(const NumericLiteral &amp;e)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00077">IntervalValue.h:77</a></div></div>
1045
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00300">IntervalValue.h:300</a></div></div>
1046
- <div class="ttc" id="aclassSVF_1_1AbstractValue_html_a74bc740e894dfbdb2253bedc2851dd2e"><div class="ttname"><a href="classSVF_1_1AbstractValue.html#a74bc740e894dfbdb2253bedc2851dd2e">SVF::AbstractValue::getAbstractValueKind</a></div><div class="ttdeci">AbstractValueK getAbstractValueKind() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00068">AbstractValue.h:68</a></div></div>
1047
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a304db5abb4cc7added56dbcbcd94d905"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u32_t lb, u32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00120">IntervalValue.h:120</a></div></div>
1048
- <div class="ttc" id="anamespaceSVF_html_aedd9d023a68dddd66314be63bb8e48d2"><div class="ttname"><a href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">SVF::operator&gt;</a></div><div class="ttdeci">IntervalValue operator&gt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00633">IntervalValue.h:633</a></div></div>
1030
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00286">IntervalValue.h:286</a></div></div>
1031
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a304db5abb4cc7added56dbcbcd94d905"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u32_t lb, u32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00119">IntervalValue.h:119</a></div></div>
1032
+ <div class="ttc" id="anamespaceSVF_html_aedd9d023a68dddd66314be63bb8e48d2"><div class="ttname"><a href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">SVF::operator&gt;</a></div><div class="ttdeci">IntervalValue operator&gt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00619">IntervalValue.h:619</a></div></div>
1049
1033
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
1050
1034
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ab4f45675a9fecb201d0fe05d107fcb97"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">SVF::NumericLiteral::min</a></div><div class="ttdeci">friend NumericLiteral min(const NumericLiteral &amp;lhs, const NumericLiteral &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00417">NumericLiteral.h:417</a></div></div>
1051
- <div class="ttc" id="anamespaceSVF_html_a2f3ddba25bc972f70300128369e4cd1d"><div class="ttname"><a href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">SVF::operator%</a></div><div class="ttdeci">IntervalValue operator%(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00593">IntervalValue.h:593</a></div></div>
1035
+ <div class="ttc" id="anamespaceSVF_html_a2f3ddba25bc972f70300128369e4cd1d"><div class="ttname"><a href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">SVF::operator%</a></div><div class="ttdeci">IntervalValue operator%(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00579">IntervalValue.h:579</a></div></div>
1052
1036
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac4acd8ca01d2aa1715c18beb46b0ae1d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">SVF::NumericLiteral::is_infinity</a></div><div class="ttdeci">bool is_infinity() const</div><div class="ttdoc">Check if this is infinity (either of plus/minus)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00110">NumericLiteral.h:110</a></div></div>
1053
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8de8e78efcee26d74fe3d34c405dee0a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">SVF::IntervalValue::setValue</a></div><div class="ttdeci">void setValue(const NumericLiteral &amp;lb, const NumericLiteral &amp;ub)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00246">IntervalValue.h:246</a></div></div>
1054
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a78b5445006d765160bbcb4ae2e11bd8a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">bool is_infinite() const</div><div class="ttdoc">Return true if the IntervalValue is infinite IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00259">IntervalValue.h:259</a></div></div>
1037
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8de8e78efcee26d74fe3d34c405dee0a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">SVF::IntervalValue::setValue</a></div><div class="ttdeci">void setValue(const NumericLiteral &amp;lb, const NumericLiteral &amp;ub)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00232">IntervalValue.h:232</a></div></div>
1038
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a78b5445006d765160bbcb4ae2e11bd8a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">bool is_infinite() const</div><div class="ttdoc">Return true if the IntervalValue is infinite IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00245">IntervalValue.h:245</a></div></div>
1055
1039
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral, default type is double in case to support both int and float.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00132">NumericLiteral.h:132</a></div></div>
1056
1040
  <div class="ttc" id="aNumericLiteral_8h_html"><div class="ttname"><a href="NumericLiteral_8h.html">NumericLiteral.h</a></div></div>
1057
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8a9edd3eb9c31ecff090953301bf822d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">SVF::IntervalValue::set_to_top</a></div><div class="ttdeci">void set_to_top()</div><div class="ttdoc">Set current IntervalValue as top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00313">IntervalValue.h:313</a></div></div>
1041
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8a9edd3eb9c31ecff090953301bf822d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">SVF::IntervalValue::set_to_top</a></div><div class="ttdeci">void set_to_top()</div><div class="ttdoc">Set current IntervalValue as top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00299">IntervalValue.h:299</a></div></div>
1058
1042
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
1059
- <div class="ttc" id="anamespaceSVF_html_a8ca7e84917358976240bc88c3cceb0c2"><div class="ttname"><a href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">SVF::operator&amp;</a></div><div class="ttdeci">IntervalValue operator&amp;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Bitwise AND of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00893">IntervalValue.h:893</a></div></div>
1060
- <div class="ttc" id="anamespaceSVF_html_a23c136994bc83222e1913d43ec3e7468"><div class="ttname"><a href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">SVF::operator/</a></div><div class="ttdeci">IntervalValue operator/(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00567">IntervalValue.h:567</a></div></div>
1061
- <div class="ttc" id="anamespaceSVF_html_a4bddb7dbd28d3c0deb3cd35e48179a36"><div class="ttname"><a href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">SVF::operator-</a></div><div class="ttdeci">IntervalValue operator-(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Subtract IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00529">IntervalValue.h:529</a></div></div>
1043
+ <div class="ttc" id="anamespaceSVF_html_a8ca7e84917358976240bc88c3cceb0c2"><div class="ttname"><a href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">SVF::operator&amp;</a></div><div class="ttdeci">IntervalValue operator&amp;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Bitwise AND of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00879">IntervalValue.h:879</a></div></div>
1044
+ <div class="ttc" id="anamespaceSVF_html_a23c136994bc83222e1913d43ec3e7468"><div class="ttname"><a href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">SVF::operator/</a></div><div class="ttdeci">IntervalValue operator/(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00553">IntervalValue.h:553</a></div></div>
1045
+ <div class="ttc" id="anamespaceSVF_html_a4bddb7dbd28d3c0deb3cd35e48179a36"><div class="ttname"><a href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">SVF::operator-</a></div><div class="ttdeci">IntervalValue operator-(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Subtract IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00515">IntervalValue.h:515</a></div></div>
1062
1046
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a75fc2abc930b9405130106a51c29f314"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">SVF::NumericLiteral::is_int</a></div><div class="ttdeci">bool is_int() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00121">NumericLiteral.h:121</a></div></div>
1063
1047
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ab8ea498ca849eb969e721772d432b29d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">SVF::NumericLiteral::geq</a></div><div class="ttdeci">bool geq(const NumericLiteral &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00183">NumericLiteral.h:183</a></div></div>
1064
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00227">IntervalValue.h:227</a></div></div>
1048
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00213">IntervalValue.h:213</a></div></div>
1065
1049
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_aa69f9536301d6529eb1d0caaec2fcc63"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">SVF::NumericLiteral::getRealNumeral</a></div><div class="ttdeci">double getRealNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00143">NumericLiteral.h:143</a></div></div>
1066
1050
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a42f5bdc956614b4c431f7045f744ac7d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a42f5bdc956614b4c431f7045f744ac7d">SVF::NumericLiteral::plus_infinity</a></div><div class="ttdeci">static NumericLiteral plus_infinity()</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00077">NumericLiteral.h:77</a></div></div>
1067
1051
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
1068
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a970b85f66d80cfc8ca56a8846c921afa"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">SVF::IntervalValue::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Return true if the IntervalValue is [0, 0].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00253">IntervalValue.h:253</a></div></div>
1052
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a970b85f66d80cfc8ca56a8846c921afa"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">SVF::IntervalValue::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Return true if the IntervalValue is [0, 0].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00239">IntervalValue.h:239</a></div></div>
1069
1053
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a9e7a696842de2a4fae08a75d72a807ec"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">SVF::NumericLiteral::max</a></div><div class="ttdeci">friend NumericLiteral max(const NumericLiteral &amp;lhs, const NumericLiteral &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00422">NumericLiteral.h:422</a></div></div>
1070
1054
  <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
1071
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_afcd424e419fe66750c47df21774bb22c"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#afcd424e419fe66750c47df21774bb22c">SVF::IntervalValue::~IntervalValue</a></div><div class="ttdeci">~IntervalValue() override=default</div><div class="ttdoc">Destructor.</div></div>
1072
1055
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3e10b7d6fd99151cc73b2d942ae75190"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">SVF::IntervalValue::operator=</a></div><div class="ttdeci">IntervalValue &amp; operator=(const IntervalValue &amp;a)=default</div><div class="ttdoc">Copy assignment operator.</div></div>
1073
1056
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a1e693e837e8d67ce76a03ec243c94f15"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a1e693e837e8d67ce76a03ec243c94f15">SVF::NumericLiteral::is_minus_infinity</a></div><div class="ttdeci">bool is_minus_infinity() const</div><div class="ttdoc">Check if this is minus infinity.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00098">NumericLiteral.h:98</a></div></div>
1074
1057
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
1075
1058
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa027be2f9243ce4cae799b265b019443"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">SVF::IntervalValue::bottom</a></div><div class="ttdeci">static IntervalValue bottom()</div><div class="ttdoc">Create the bottom IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00089">IntervalValue.h:89</a></div></div>
1076
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_afcb91d48a79aeba3c78c1a41b0730a73"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">SVF::IntervalValue::contains</a></div><div class="ttdeci">bool contains(int n) const</div><div class="ttdoc">Return true if the IntervalValue contains n.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00476">IntervalValue.h:476</a></div></div>
1059
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_afcb91d48a79aeba3c78c1a41b0730a73"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">SVF::IntervalValue::contains</a></div><div class="ttdeci">bool contains(int n) const</div><div class="ttdoc">Return true if the IntervalValue contains n.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00462">IntervalValue.h:462</a></div></div>
1077
1060
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac0872619aefd1f680d08d3ec4360537c"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac0872619aefd1f680d08d3ec4360537c">SVF::NumericLiteral::minus_infinity</a></div><div class="ttdeci">static NumericLiteral minus_infinity()</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00082">NumericLiteral.h:82</a></div></div>
1078
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a4f9d13c0f642fcad6ddb86ea79fac6e3"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3">SVF::IntervalValue::getIntNumeral</a></div><div class="ttdeci">s64_t getIntNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00287">IntervalValue.h:287</a></div></div>
1079
- <div class="ttc" id="aclassSVF_1_1AbstractValue_html_afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a"><div class="ttname"><a href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">SVF::AbstractValue::IntervalK</a></div><div class="ttdeci">@ IntervalK</div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00050">AbstractValue.h:50</a></div></div>
1061
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a4f9d13c0f642fcad6ddb86ea79fac6e3"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3">SVF::IntervalValue::getIntNumeral</a></div><div class="ttdeci">s64_t getIntNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00273">IntervalValue.h:273</a></div></div>
1080
1062
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a22796c07a495e1af7252b3dcb60d9940"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a22796c07a495e1af7252b3dcb60d9940">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s64_t n)</div><div class="ttdoc">Create the IntervalValue [n, n].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00098">IntervalValue.h:98</a></div></div>
1081
1063
  <div class="ttc" id="acJSON_8cpp_html_a8a1a0a26c50cc4becfc754bb68d1dc6b"><div class="ttname"><a href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a></div><div class="ttdeci">cJSON * a</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02560">cJSON.cpp:2560</a></div></div>
1082
1064
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a325e99ded5a026ecdae64004b9392f4a"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">SVF::NumericLiteral::equal</a></div><div class="ttdeci">bool equal(const NumericLiteral &amp;rhs) const</div><div class="ttdoc">Check two object is equal.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00154">NumericLiteral.h:154</a></div></div>
1083
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6c175067e5573ae7180ae4d872c49c8f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">SVF::IntervalValue::narrow_with</a></div><div class="ttdeci">void narrow_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue narrow with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00442">IntervalValue.h:442</a></div></div>
1084
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac4896347f704db07695f4b8dfc42aad7"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">SVF::IntervalValue::dump</a></div><div class="ttdeci">void dump(std::ostream &amp;o) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00481">IntervalValue.h:481</a></div></div>
1085
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adf3cae41adaeb62c3b5da19e81adbb5d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">SVF::IntervalValue::setLb</a></div><div class="ttdeci">void setLb(const NumericLiteral &amp;lb)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00234">IntervalValue.h:234</a></div></div>
1065
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6c175067e5573ae7180ae4d872c49c8f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">SVF::IntervalValue::narrow_with</a></div><div class="ttdeci">void narrow_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue narrow with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00428">IntervalValue.h:428</a></div></div>
1066
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac4896347f704db07695f4b8dfc42aad7"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">SVF::IntervalValue::dump</a></div><div class="ttdeci">void dump(std::ostream &amp;o) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00467">IntervalValue.h:467</a></div></div>
1067
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a674f9bb98053f8658e246863d6561072"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a674f9bb98053f8658e246863d6561072">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
1068
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adf3cae41adaeb62c3b5da19e81adbb5d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">SVF::IntervalValue::setLb</a></div><div class="ttdeci">void setLb(const NumericLiteral &amp;lb)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00220">IntervalValue.h:220</a></div></div>
1086
1069
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a8e19113913c2aa236ab35d3bdd49541c"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">SVF::NumericLiteral::getIntNumeral</a></div><div class="ttdeci">s64_t getIntNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00148">NumericLiteral.h:148</a></div></div>
1087
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3ac2a92a9d67dec907fa7ae4181dc171"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171">SVF::IntervalValue::operator==</a></div><div class="ttdeci">IntervalValue operator==(const IntervalValue &amp;other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00137">IntervalValue.h:137</a></div></div>
1088
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a101633c38e284f6e2bcad852daa3baae"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a101633c38e284f6e2bcad852daa3baae">SVF::IntervalValue::classof</a></div><div class="ttdeci">static bool classof(const IntervalValue *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast:</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00208">IntervalValue.h:208</a></div></div>
1089
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac763bab0b6fedbe5ec5b345c7b260e30"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">SVF::IntervalValue::set_to_bottom</a></div><div class="ttdeci">void set_to_bottom()</div><div class="ttdoc">Set current IntervalValue as bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00306">IntervalValue.h:306</a></div></div>
1070
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3ac2a92a9d67dec907fa7ae4181dc171"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171">SVF::IntervalValue::operator==</a></div><div class="ttdeci">IntervalValue operator==(const IntervalValue &amp;other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00136">IntervalValue.h:136</a></div></div>
1071
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac763bab0b6fedbe5ec5b345c7b260e30"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">SVF::IntervalValue::set_to_bottom</a></div><div class="ttdeci">void set_to_bottom()</div><div class="ttdoc">Set current IntervalValue as bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00292">IntervalValue.h:292</a></div></div>
1090
1072
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a73aee65aae0f2ef368d159d29e1d5a30"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a73aee65aae0f2ef368d159d29e1d5a30">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(NumericLiteral lb, NumericLiteral ub)</div><div class="ttdoc">Create the IntervalValue [lb, ub].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00109">IntervalValue.h:109</a></div></div>
1091
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6ec0263a3036734c28cd241007f8a490"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s64_t lb, s64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00112">IntervalValue.h:112</a></div></div>
1092
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a977128211266b93e58e298a7ac29a059"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
1073
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6ec0263a3036734c28cd241007f8a490"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s64_t lb, s64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00111">IntervalValue.h:111</a></div></div>
1093
1074
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_aa01880cdfc3b9504bef63a3bf315c54b"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">SVF::NumericLiteral::leq</a></div><div class="ttdeci">bool leq(const NumericLiteral &amp;rhs) const</div><div class="ttdoc">Less then or equal.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00160">NumericLiteral.h:160</a></div></div>
1094
1075
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a538deb0b9e88fd99b9768f5775e58ca7"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a538deb0b9e88fd99b9768f5775e58ca7">SVF::NumericLiteral::is_plus_infinity</a></div><div class="ttdeci">bool is_plus_infinity() const</div><div class="ttdoc">Check if this is plus infinity.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00104">NumericLiteral.h:104</a></div></div>
1095
1076
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html">SVF::NumericLiteral</a></div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00038">NumericLiteral.h:38</a></div></div>
1096
- <div class="ttc" id="anamespaceSVF_html_a08938c05911dac4ebd102adfafd14d24"><div class="ttname"><a href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">SVF::operator&gt;=</a></div><div class="ttdeci">IntervalValue operator&gt;=(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00736">IntervalValue.h:736</a></div></div>
1097
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a312f9257f8562fce510c1257d8a6e4df"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">SVF::IntervalValue::geq</a></div><div class="ttdeci">bool geq(const IntervalValue &amp;other) const</div><div class="ttdoc">Check current IntervalValue is greater than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00338">IntervalValue.h:338</a></div></div>
1077
+ <div class="ttc" id="anamespaceSVF_html_a08938c05911dac4ebd102adfafd14d24"><div class="ttname"><a href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">SVF::operator&gt;=</a></div><div class="ttdeci">IntervalValue operator&gt;=(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00722">IntervalValue.h:722</a></div></div>
1078
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a312f9257f8562fce510c1257d8a6e4df"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">SVF::IntervalValue::geq</a></div><div class="ttdeci">bool geq(const IntervalValue &amp;other) const</div><div class="ttdoc">Check current IntervalValue is greater than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00324">IntervalValue.h:324</a></div></div>
1098
1079
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a2fe2eb429c125e33014bab7e21c77b9e"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">SVF::NumericLiteral::is_real</a></div><div class="ttdeci">bool is_real() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00126">NumericLiteral.h:126</a></div></div>
1099
1080
  <div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00049">GeneralType.h:49</a></div></div>
1100
1081
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ad1a81f516a61f54a595fa15444e2001b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(double n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00104">IntervalValue.h:104</a></div></div>
1101
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ae081b5c462f8ed5b306719822e35cea9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00281">IntervalValue.h:281</a></div></div>
1102
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a50d11cbc14f717d679caafe3cf59e0c5"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(double lb, double ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00114">IntervalValue.h:114</a></div></div>
1103
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00397">IntervalValue.h:397</a></div></div>
1104
- <div class="ttc" id="anamespaceSVF_html_a8803e977797624599af5b0a84fe1de3d"><div class="ttname"><a href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">SVF::operator^</a></div><div class="ttdeci">IntervalValue operator^(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Bitwise XOR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00949">IntervalValue.h:949</a></div></div>
1105
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac3736c3e3129cfdb6ee415ef64c2e75c"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s32_t lb, s32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00118">IntervalValue.h:118</a></div></div>
1082
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ae081b5c462f8ed5b306719822e35cea9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00267">IntervalValue.h:267</a></div></div>
1083
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a50d11cbc14f717d679caafe3cf59e0c5"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(double lb, double ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00113">IntervalValue.h:113</a></div></div>
1084
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8fc5e1a30d60fd01fd3ddf3d5ec0e306"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8fc5e1a30d60fd01fd3ddf3d5ec0e306">SVF::IntervalValue::~IntervalValue</a></div><div class="ttdeci">~IntervalValue()=default</div><div class="ttdoc">Destructor.</div></div>
1085
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00383">IntervalValue.h:383</a></div></div>
1086
+ <div class="ttc" id="anamespaceSVF_html_a8803e977797624599af5b0a84fe1de3d"><div class="ttname"><a href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">SVF::operator^</a></div><div class="ttdeci">IntervalValue operator^(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Bitwise XOR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00935">IntervalValue.h:935</a></div></div>
1087
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac3736c3e3129cfdb6ee415ef64c2e75c"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s32_t lb, s32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00117">IntervalValue.h:117</a></div></div>
1106
1088
  <div class="ttc" id="anamespaceSVF_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="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
1107
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aef151a05c0f4a2a1aa3f9091f5258ee6"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">SVF::IntervalValue::is_real</a></div><div class="ttdeci">bool is_real() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00272">IntervalValue.h:272</a></div></div>
1108
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aba604a5a30a77cb199a50814cf695852"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(float lb, float ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00116">IntervalValue.h:116</a></div></div>
1109
- <div class="ttc" id="anamespaceSVF_html_a4b2b5d8755b9f0c4f82a9f82b4631fee"><div class="ttname"><a href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee">SVF::operator&gt;&gt;</a></div><div class="ttdeci">IntervalValue operator&gt;&gt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00857">IntervalValue.h:857</a></div></div>
1089
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aef151a05c0f4a2a1aa3f9091f5258ee6"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">SVF::IntervalValue::is_real</a></div><div class="ttdeci">bool is_real() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00258">IntervalValue.h:258</a></div></div>
1090
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aba604a5a30a77cb199a50814cf695852"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(float lb, float ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00115">IntervalValue.h:115</a></div></div>
1091
+ <div class="ttc" id="anamespaceSVF_html_a4b2b5d8755b9f0c4f82a9f82b4631fee"><div class="ttname"><a href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee">SVF::operator&gt;&gt;</a></div><div class="ttdeci">IntervalValue operator&gt;&gt;(const IntervalValue &amp;lhs, const IntervalValue &amp;rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00843">IntervalValue.h:843</a></div></div>
1110
1092
  <!-- start footer part -->
1111
1093
  <hr class="footer"/><address class="footer"><small>
1112
1094
  Generated by &#160;<a href="http://www.doxygen.org/index.html">