svf-tools 1.0.897 → 1.0.899

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 (639) hide show
  1. package/SVF-doxygen/html/AbstractExecution_8cpp.html +1 -1
  2. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1638 -1659
  3. package/SVF-doxygen/html/AbstractExecution_8h_source.html +49 -49
  4. package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
  5. package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/AccessPath_8h_source.html +2 -2
  7. package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
  8. package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
  9. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +3 -3
  10. package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
  14. package/SVF-doxygen/html/Andersen_8h_source.html +3 -3
  15. package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +4 -4
  16. package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +400 -380
  17. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +29 -28
  18. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
  19. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
  21. package/SVF-doxygen/html/CDG_8h_source.html +2 -2
  22. package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +3 -3
  23. package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
  24. package/SVF-doxygen/html/CFGrammar_8cpp_source.html +2 -2
  25. package/SVF-doxygen/html/CFGrammar_8h_source.html +3 -3
  26. package/SVF-doxygen/html/CFLAlias_8h_source.html +2 -2
  27. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
  29. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
  31. package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
  32. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/CHG_8h_source.html +2 -2
  34. package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/CSC_8h_source.html +3 -3
  36. package/SVF-doxygen/html/ConditionalPT_8h_source.html +3 -3
  37. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +6 -6
  38. package/SVF-doxygen/html/ConsExeState_8h_source.html +6 -6
  39. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  40. package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
  41. package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
  42. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +4 -4
  43. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  44. package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
  45. package/SVF-doxygen/html/CppUtil_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/CppUtil_8h_source.html +1 -1
  47. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  48. package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
  50. package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
  52. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  53. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  54. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +2 -2
  55. package/SVF-doxygen/html/DPItem_8h_source.html +2 -2
  56. package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
  58. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/FSMPTA_8h_source.html +2 -2
  60. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +4 -4
  61. package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
  62. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/FlowSensitive_8h_source.html +2 -2
  65. package/SVF-doxygen/html/GeneralType_8h.html +8 -0
  66. package/SVF-doxygen/html/GeneralType_8h_source.html +110 -102
  67. package/SVF-doxygen/html/GenericGraph_8h_source.html +2 -2
  68. package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
  69. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
  71. package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
  72. package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
  73. package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +2 -2
  74. package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
  75. package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/ICFG_8h_source.html +2 -2
  77. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
  79. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/IntervalExeState_8h_source.html +4 -4
  81. package/SVF-doxygen/html/IntervalValue_8h_source.html +863 -802
  82. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  83. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +335 -316
  84. package/SVF-doxygen/html/LLVMModule_8h_source.html +11 -11
  85. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/LLVMUtil_8h_source.html +1 -1
  87. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  88. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +2 -2
  89. package/SVF-doxygen/html/LockAnalysis_8h_source.html +3 -3
  90. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  91. package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
  92. package/SVF-doxygen/html/MHP_8cpp_source.html +3 -3
  93. package/SVF-doxygen/html/MHP_8h_source.html +3 -3
  94. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +4 -4
  95. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
  97. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
  99. package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
  100. package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
  101. package/SVF-doxygen/html/MTA_8h_source.html +1 -1
  102. package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
  103. package/SVF-doxygen/html/MemRegion_8cpp_source.html +4 -4
  104. package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
  105. package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
  106. package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
  107. package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
  108. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  109. package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +2 -2
  110. package/SVF-doxygen/html/NumericLiteral_8h_source.html +465 -424
  111. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
  112. package/SVF-doxygen/html/ObjTypeInference_8h_source.html +2 -2
  113. package/SVF-doxygen/html/Options_8cpp_source.html +10 -1
  114. package/SVF-doxygen/html/Options_8h_source.html +8 -4
  115. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +195 -137
  116. package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +3 -3
  117. package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
  118. package/SVF-doxygen/html/PCG_8h_source.html +1 -1
  119. package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
  120. package/SVF-doxygen/html/PTACallGraph_8h_source.html +4 -4
  121. package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
  122. package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +2 -2
  123. package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
  124. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  125. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +3 -3
  126. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
  127. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +5 -5
  128. package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
  129. package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
  130. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
  131. package/SVF-doxygen/html/ProgSlice_8h_source.html +2 -2
  132. package/SVF-doxygen/html/RelExeState_8cpp_source.html +5 -5
  133. package/SVF-doxygen/html/RelExeState_8h_source.html +6 -6
  134. package/SVF-doxygen/html/RelationSolver_8cpp.html +2 -0
  135. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +386 -378
  136. package/SVF-doxygen/html/RelationSolver_8h_source.html +11 -11
  137. package/SVF-doxygen/html/SCC_8h_source.html +2 -2
  138. package/SVF-doxygen/html/SVFBugReport_8h_source.html +1 -1
  139. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1937 -1934
  140. package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
  141. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +59 -59
  142. package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
  143. package/SVF-doxygen/html/SVFGNode_8h_source.html +2 -2
  144. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
  145. package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
  146. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +3 -3
  147. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  148. package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
  149. package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
  150. package/SVF-doxygen/html/SVFG_8h_source.html +2 -2
  151. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
  152. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
  153. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1101 -886
  154. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +173 -154
  155. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
  156. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +17 -17
  157. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +172 -121
  158. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +5 -5
  159. package/SVF-doxygen/html/SVFIR_8cpp_source.html +24 -22
  160. package/SVF-doxygen/html/SVFIR_8h_source.html +55 -53
  161. package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
  162. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  163. package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
  164. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
  165. package/SVF-doxygen/html/SVFStatements_8h_source.html +979 -955
  166. package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
  167. package/SVF-doxygen/html/SVFType_8h_source.html +4 -4
  168. package/SVF-doxygen/html/SVFUtil_8h_source.html +2 -2
  169. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  170. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  171. package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
  172. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  173. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
  174. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +8 -8
  175. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  176. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
  177. package/SVF-doxygen/html/SingleAbsValue_8h_source.html +6 -6
  178. package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
  179. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
  180. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
  181. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
  182. package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
  183. package/SVF-doxygen/html/SymState_8h_source.html +2 -2
  184. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
  185. package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +1 -1
  186. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
  187. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +4 -4
  188. package/SVF-doxygen/html/TCT_8cpp_source.html +3 -3
  189. package/SVF-doxygen/html/TCT_8h_source.html +4 -4
  190. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
  191. package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
  192. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
  193. package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +3 -3
  194. package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
  195. package/SVF-doxygen/html/VFGNode_8h_source.html +12 -12
  196. package/SVF-doxygen/html/VFG_8cpp_source.html +18 -18
  197. package/SVF-doxygen/html/VFG_8h_source.html +17 -17
  198. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  199. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  200. package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
  201. package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
  202. package/SVF-doxygen/html/WPASolver_8h_source.html +2 -2
  203. package/SVF-doxygen/html/WTO_8h_source.html +2 -2
  204. package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
  205. package/SVF-doxygen/html/Z3Expr_8cpp_source.html +5 -5
  206. package/SVF-doxygen/html/Z3Expr_8h_source.html +303 -294
  207. package/SVF-doxygen/html/ae_8cpp_source.html +6 -6
  208. package/SVF-doxygen/html/classSVF_1_1AEStat.html +119 -119
  209. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +1517 -1538
  210. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +1 -1
  211. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  212. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +1 -1
  213. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +3 -3
  214. package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
  215. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  216. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  217. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  218. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
  219. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr-members.html +77 -72
  220. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +450 -294
  221. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
  222. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +4 -4
  223. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +7 -7
  224. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +1 -1
  225. package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +3 -3
  226. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +1 -1
  227. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
  228. package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
  229. package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
  230. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
  231. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +1 -1
  232. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +5 -5
  233. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
  234. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
  235. package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +48 -33
  236. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +206 -65
  237. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
  238. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +2 -2
  239. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  240. package/SVF-doxygen/html/classSVF_1_1ExeState.html +1 -1
  241. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
  242. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
  243. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  244. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  245. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
  246. package/SVF-doxygen/html/classSVF_1_1GenericGraphReader.html +1 -1
  247. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
  248. package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +1 -1
  249. package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
  250. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
  251. package/SVF-doxygen/html/classSVF_1_1ICFGWriter.html +11 -11
  252. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2 -2
  253. package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +40 -35
  254. package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +512 -307
  255. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  256. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +331 -312
  257. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
  258. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +2 -2
  259. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  260. package/SVF-doxygen/html/classSVF_1_1MHP.html +2 -2
  261. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
  262. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
  263. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +4 -4
  264. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  265. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
  266. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
  267. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  268. package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
  269. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
  270. package/SVF-doxygen/html/classSVF_1_1NumericLiteral-members.html +50 -43
  271. package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +574 -343
  272. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
  273. package/SVF-doxygen/html/classSVF_1_1Options-members.html +129 -128
  274. package/SVF-doxygen/html/classSVF_1_1Options.html +26 -0
  275. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +204 -135
  276. package/SVF-doxygen/html/classSVF_1_1PCG.html +1 -1
  277. package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
  278. package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
  279. package/SVF-doxygen/html/classSVF_1_1PTAStat.html +1 -1
  280. package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
  281. package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
  282. package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
  283. package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
  284. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
  285. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
  286. package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
  287. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +1 -1
  288. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
  289. package/SVF-doxygen/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
  290. package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +2 -2
  291. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +6 -6
  292. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +1 -1
  293. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +362 -358
  294. package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
  295. package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
  296. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +1 -1
  297. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  298. package/SVF-doxygen/html/classSVF_1_1SVFIR-members.html +1 -1
  299. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +32 -25
  300. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
  301. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +49 -40
  302. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1346 -909
  303. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder-members.html +62 -61
  304. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +211 -131
  305. package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1122 -1121
  306. package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +429 -427
  307. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
  308. package/SVF-doxygen/html/classSVF_1_1SVFModuleReader.html +1 -1
  309. package/SVF-doxygen/html/classSVF_1_1SVFModuleWriter.html +23 -23
  310. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  311. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
  312. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  313. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
  314. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue-members.html +96 -91
  315. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +19 -5
  316. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
  317. package/SVF-doxygen/html/classSVF_1_1StInfo.html +1 -1
  318. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +2 -2
  319. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
  320. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  321. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
  322. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
  323. package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
  324. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
  325. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
  326. package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
  327. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
  328. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
  329. package/SVF-doxygen/html/classSVF_1_1VFG.html +17 -17
  330. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  331. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  332. package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
  333. package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  334. package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
  335. package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
  336. package/SVF-doxygen/html/classSVF_1_1Z3Expr-members.html +2 -2
  337. package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +227 -221
  338. package/SVF-doxygen/html/classSymblicAbstractionTest.html +6 -6
  339. package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  340. package/SVF-doxygen/html/functions_a.html +11 -8
  341. package/SVF-doxygen/html/functions_b.html +8 -5
  342. package/SVF-doxygen/html/functions_c.html +23 -14
  343. package/SVF-doxygen/html/functions_e.html +1 -1
  344. package/SVF-doxygen/html/functions_enum.html +3 -0
  345. package/SVF-doxygen/html/functions_eval_b.html +3 -0
  346. package/SVF-doxygen/html/functions_eval_c.html +3 -0
  347. package/SVF-doxygen/html/functions_eval_f.html +9 -0
  348. package/SVF-doxygen/html/functions_eval_i.html +3 -0
  349. package/SVF-doxygen/html/functions_eval_p.html +3 -0
  350. package/SVF-doxygen/html/functions_eval_s.html +6 -0
  351. package/SVF-doxygen/html/functions_eval_t.html +3 -0
  352. package/SVF-doxygen/html/functions_eval_u.html +3 -0
  353. package/SVF-doxygen/html/functions_eval_z.html +79 -0
  354. package/SVF-doxygen/html/functions_f.html +21 -12
  355. package/SVF-doxygen/html/functions_func.html +2 -2
  356. package/SVF-doxygen/html/functions_func_b.html +3 -3
  357. package/SVF-doxygen/html/functions_func_g.html +47 -12
  358. package/SVF-doxygen/html/functions_func_i.html +19 -9
  359. package/SVF-doxygen/html/functions_func_n.html +1 -1
  360. package/SVF-doxygen/html/functions_func_p.html +1 -1
  361. package/SVF-doxygen/html/functions_func_z.html +1 -1
  362. package/SVF-doxygen/html/functions_g.html +54 -19
  363. package/SVF-doxygen/html/functions_i.html +18 -5
  364. package/SVF-doxygen/html/functions_l.html +3 -3
  365. package/SVF-doxygen/html/functions_o.html +15 -15
  366. package/SVF-doxygen/html/functions_p.html +28 -29
  367. package/SVF-doxygen/html/functions_r.html +1 -1
  368. package/SVF-doxygen/html/functions_s.html +24 -16
  369. package/SVF-doxygen/html/functions_t.html +7 -4
  370. package/SVF-doxygen/html/functions_u.html +6 -3
  371. package/SVF-doxygen/html/functions_v.html +4 -6
  372. package/SVF-doxygen/html/functions_vars_a.html +3 -0
  373. package/SVF-doxygen/html/functions_vars_c.html +3 -0
  374. package/SVF-doxygen/html/functions_w.html +13 -7
  375. package/SVF-doxygen/html/functions_z.html +4 -1
  376. package/SVF-doxygen/html/menudata.js +2 -1
  377. package/SVF-doxygen/html/namespaceSVF.html +689 -617
  378. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1 -1
  379. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +1 -1
  380. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +1 -1
  381. package/SVF-doxygen/html/namespacemembers_s.html +6 -0
  382. package/SVF-doxygen/html/namespacemembers_type_s.html +6 -0
  383. package/SVF-doxygen/html/namespacemembers_type_u.html +6 -0
  384. package/SVF-doxygen/html/namespacemembers_u.html +6 -0
  385. package/SVF-doxygen/html/search/all_1.js +135 -134
  386. package/SVF-doxygen/html/search/all_10.js +326 -325
  387. package/SVF-doxygen/html/search/all_11.js +226 -226
  388. package/SVF-doxygen/html/search/all_12.js +574 -570
  389. package/SVF-doxygen/html/search/all_13.js +208 -207
  390. package/SVF-doxygen/html/search/all_14.js +73 -70
  391. package/SVF-doxygen/html/search/all_15.js +176 -176
  392. package/SVF-doxygen/html/search/all_16.js +77 -77
  393. package/SVF-doxygen/html/search/all_17.js +1 -1
  394. package/SVF-doxygen/html/search/all_18.js +1 -1
  395. package/SVF-doxygen/html/search/all_19.js +27 -26
  396. package/SVF-doxygen/html/search/all_1a.js +179 -179
  397. package/SVF-doxygen/html/search/all_2.js +182 -181
  398. package/SVF-doxygen/html/search/all_3.js +642 -640
  399. package/SVF-doxygen/html/search/all_4.js +236 -236
  400. package/SVF-doxygen/html/search/all_5.js +126 -126
  401. package/SVF-doxygen/html/search/all_6.js +235 -232
  402. package/SVF-doxygen/html/search/all_7.js +1056 -1047
  403. package/SVF-doxygen/html/search/all_8.js +215 -215
  404. package/SVF-doxygen/html/search/all_9.js +632 -629
  405. package/SVF-doxygen/html/search/all_a.js +46 -46
  406. package/SVF-doxygen/html/search/all_b.js +26 -26
  407. package/SVF-doxygen/html/search/all_c.js +115 -115
  408. package/SVF-doxygen/html/search/all_d.js +204 -204
  409. package/SVF-doxygen/html/search/all_e.js +209 -209
  410. package/SVF-doxygen/html/search/all_f.js +122 -122
  411. package/SVF-doxygen/html/search/classes_0.js +28 -28
  412. package/SVF-doxygen/html/search/classes_1.js +11 -11
  413. package/SVF-doxygen/html/search/classes_10.js +74 -74
  414. package/SVF-doxygen/html/search/classes_11.js +14 -14
  415. package/SVF-doxygen/html/search/classes_12.js +2 -2
  416. package/SVF-doxygen/html/search/classes_13.js +10 -10
  417. package/SVF-doxygen/html/search/classes_14.js +19 -19
  418. package/SVF-doxygen/html/search/classes_15.js +1 -1
  419. package/SVF-doxygen/html/search/classes_2.js +73 -73
  420. package/SVF-doxygen/html/search/classes_3.js +35 -35
  421. package/SVF-doxygen/html/search/classes_4.js +8 -8
  422. package/SVF-doxygen/html/search/classes_5.js +28 -28
  423. package/SVF-doxygen/html/search/classes_6.js +98 -98
  424. package/SVF-doxygen/html/search/classes_7.js +38 -38
  425. package/SVF-doxygen/html/search/classes_8.js +59 -59
  426. package/SVF-doxygen/html/search/classes_9.js +1 -1
  427. package/SVF-doxygen/html/search/classes_a.js +12 -12
  428. package/SVF-doxygen/html/search/classes_b.js +29 -29
  429. package/SVF-doxygen/html/search/classes_c.js +6 -6
  430. package/SVF-doxygen/html/search/classes_d.js +19 -19
  431. package/SVF-doxygen/html/search/classes_e.js +36 -36
  432. package/SVF-doxygen/html/search/classes_f.js +25 -25
  433. package/SVF-doxygen/html/search/defines_0.js +3 -3
  434. package/SVF-doxygen/html/search/defines_1.js +3 -3
  435. package/SVF-doxygen/html/search/defines_10.js +2 -2
  436. package/SVF-doxygen/html/search/defines_2.js +30 -30
  437. package/SVF-doxygen/html/search/defines_3.js +20 -20
  438. package/SVF-doxygen/html/search/defines_4.js +3 -3
  439. package/SVF-doxygen/html/search/defines_5.js +4 -4
  440. package/SVF-doxygen/html/search/defines_6.js +2 -2
  441. package/SVF-doxygen/html/search/defines_7.js +5 -5
  442. package/SVF-doxygen/html/search/defines_8.js +11 -11
  443. package/SVF-doxygen/html/search/defines_9.js +9 -9
  444. package/SVF-doxygen/html/search/defines_a.js +2 -2
  445. package/SVF-doxygen/html/search/defines_b.js +1 -1
  446. package/SVF-doxygen/html/search/defines_c.js +4 -4
  447. package/SVF-doxygen/html/search/defines_d.js +2 -2
  448. package/SVF-doxygen/html/search/defines_e.js +8 -8
  449. package/SVF-doxygen/html/search/defines_f.js +4 -4
  450. package/SVF-doxygen/html/search/enums_0.js +4 -4
  451. package/SVF-doxygen/html/search/enums_1.js +2 -2
  452. package/SVF-doxygen/html/search/enums_10.js +1 -1
  453. package/SVF-doxygen/html/search/enums_11.js +1 -1
  454. package/SVF-doxygen/html/search/enums_2.js +9 -8
  455. package/SVF-doxygen/html/search/enums_3.js +1 -1
  456. package/SVF-doxygen/html/search/enums_4.js +4 -4
  457. package/SVF-doxygen/html/search/enums_5.js +1 -1
  458. package/SVF-doxygen/html/search/enums_6.js +2 -2
  459. package/SVF-doxygen/html/search/enums_7.js +2 -2
  460. package/SVF-doxygen/html/search/enums_8.js +4 -4
  461. package/SVF-doxygen/html/search/enums_9.js +1 -1
  462. package/SVF-doxygen/html/search/enums_a.js +1 -1
  463. package/SVF-doxygen/html/search/enums_b.js +7 -7
  464. package/SVF-doxygen/html/search/enums_c.js +1 -1
  465. package/SVF-doxygen/html/search/enums_d.js +4 -4
  466. package/SVF-doxygen/html/search/enums_e.js +2 -2
  467. package/SVF-doxygen/html/search/enums_f.js +4 -4
  468. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  469. package/SVF-doxygen/html/search/enumvalues_1.js +16 -15
  470. package/SVF-doxygen/html/search/enumvalues_10.js +36 -35
  471. package/SVF-doxygen/html/search/enumvalues_11.js +5 -4
  472. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  473. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  474. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  475. package/SVF-doxygen/html/search/enumvalues_15.js +4 -3
  476. package/SVF-doxygen/html/search/enumvalues_2.js +37 -36
  477. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  478. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  479. package/SVF-doxygen/html/search/enumvalues_5.js +50 -47
  480. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  481. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  482. package/SVF-doxygen/html/search/enumvalues_8.js +24 -23
  483. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  484. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  485. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  486. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  487. package/SVF-doxygen/html/search/enumvalues_d.js +19 -18
  488. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  489. package/SVF-doxygen/html/search/enumvalues_f.js +49 -47
  490. package/SVF-doxygen/html/search/files_0.js +16 -16
  491. package/SVF-doxygen/html/search/files_1.js +9 -9
  492. package/SVF-doxygen/html/search/files_10.js +8 -8
  493. package/SVF-doxygen/html/search/files_11.js +8 -8
  494. package/SVF-doxygen/html/search/files_12.js +2 -2
  495. package/SVF-doxygen/html/search/files_2.js +53 -53
  496. package/SVF-doxygen/html/search/files_3.js +14 -14
  497. package/SVF-doxygen/html/search/files_4.js +5 -5
  498. package/SVF-doxygen/html/search/files_5.js +13 -13
  499. package/SVF-doxygen/html/search/files_6.js +10 -10
  500. package/SVF-doxygen/html/search/files_7.js +17 -17
  501. package/SVF-doxygen/html/search/files_8.js +13 -13
  502. package/SVF-doxygen/html/search/files_9.js +18 -18
  503. package/SVF-doxygen/html/search/files_a.js +3 -3
  504. package/SVF-doxygen/html/search/files_b.js +4 -4
  505. package/SVF-doxygen/html/search/files_c.js +20 -20
  506. package/SVF-doxygen/html/search/files_d.js +4 -4
  507. package/SVF-doxygen/html/search/files_e.js +62 -62
  508. package/SVF-doxygen/html/search/files_f.js +8 -8
  509. package/SVF-doxygen/html/search/functions_0.js +13 -13
  510. package/SVF-doxygen/html/search/functions_1.js +368 -368
  511. package/SVF-doxygen/html/search/functions_10.js +140 -140
  512. package/SVF-doxygen/html/search/functions_11.js +140 -140
  513. package/SVF-doxygen/html/search/functions_12.js +299 -299
  514. package/SVF-doxygen/html/search/functions_13.js +73 -73
  515. package/SVF-doxygen/html/search/functions_14.js +41 -41
  516. package/SVF-doxygen/html/search/functions_15.js +72 -72
  517. package/SVF-doxygen/html/search/functions_16.js +38 -38
  518. package/SVF-doxygen/html/search/functions_17.js +3 -3
  519. package/SVF-doxygen/html/search/functions_18.js +179 -179
  520. package/SVF-doxygen/html/search/functions_2.js +94 -94
  521. package/SVF-doxygen/html/search/functions_3.js +261 -261
  522. package/SVF-doxygen/html/search/functions_4.js +85 -85
  523. package/SVF-doxygen/html/search/functions_5.js +57 -57
  524. package/SVF-doxygen/html/search/functions_6.js +65 -65
  525. package/SVF-doxygen/html/search/functions_7.js +872 -863
  526. package/SVF-doxygen/html/search/functions_8.js +162 -162
  527. package/SVF-doxygen/html/search/functions_9.js +440 -438
  528. package/SVF-doxygen/html/search/functions_a.js +30 -30
  529. package/SVF-doxygen/html/search/functions_b.js +2 -2
  530. package/SVF-doxygen/html/search/functions_c.js +25 -25
  531. package/SVF-doxygen/html/search/functions_d.js +82 -82
  532. package/SVF-doxygen/html/search/functions_e.js +36 -36
  533. package/SVF-doxygen/html/search/functions_f.js +58 -58
  534. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  535. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  536. package/SVF-doxygen/html/search/related_0.js +4 -4
  537. package/SVF-doxygen/html/search/related_1.js +2 -2
  538. package/SVF-doxygen/html/search/related_2.js +2 -2
  539. package/SVF-doxygen/html/search/related_3.js +2 -2
  540. package/SVF-doxygen/html/search/related_4.js +2 -2
  541. package/SVF-doxygen/html/search/related_5.js +1 -1
  542. package/SVF-doxygen/html/search/related_6.js +2 -2
  543. package/SVF-doxygen/html/search/related_7.js +5 -5
  544. package/SVF-doxygen/html/search/related_8.js +2 -2
  545. package/SVF-doxygen/html/search/related_9.js +4 -4
  546. package/SVF-doxygen/html/search/related_a.js +19 -19
  547. package/SVF-doxygen/html/search/related_b.js +4 -4
  548. package/SVF-doxygen/html/search/related_c.js +2 -2
  549. package/SVF-doxygen/html/search/related_d.js +12 -12
  550. package/SVF-doxygen/html/search/related_e.js +2 -2
  551. package/SVF-doxygen/html/search/related_f.js +2 -2
  552. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  553. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  554. package/SVF-doxygen/html/search/typedefs_10.js +65 -63
  555. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  556. package/SVF-doxygen/html/search/typedefs_12.js +13 -11
  557. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  558. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  559. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  560. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  561. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  562. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  563. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  564. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  565. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  566. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  567. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  568. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  569. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  570. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  571. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  572. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  573. package/SVF-doxygen/html/search/variables_0.js +177 -177
  574. package/SVF-doxygen/html/search/variables_1.js +77 -76
  575. package/SVF-doxygen/html/search/variables_10.js +98 -98
  576. package/SVF-doxygen/html/search/variables_11.js +46 -46
  577. package/SVF-doxygen/html/search/variables_12.js +93 -93
  578. package/SVF-doxygen/html/search/variables_13.js +76 -76
  579. package/SVF-doxygen/html/search/variables_14.js +14 -14
  580. package/SVF-doxygen/html/search/variables_15.js +49 -49
  581. package/SVF-doxygen/html/search/variables_16.js +11 -11
  582. package/SVF-doxygen/html/search/variables_17.js +1 -1
  583. package/SVF-doxygen/html/search/variables_18.js +17 -17
  584. package/SVF-doxygen/html/search/variables_2.js +40 -40
  585. package/SVF-doxygen/html/search/variables_3.js +143 -142
  586. package/SVF-doxygen/html/search/variables_4.js +51 -51
  587. package/SVF-doxygen/html/search/variables_5.js +39 -39
  588. package/SVF-doxygen/html/search/variables_6.js +66 -66
  589. package/SVF-doxygen/html/search/variables_7.js +34 -34
  590. package/SVF-doxygen/html/search/variables_8.js +8 -8
  591. package/SVF-doxygen/html/search/variables_9.js +79 -79
  592. package/SVF-doxygen/html/search/variables_a.js +4 -4
  593. package/SVF-doxygen/html/search/variables_b.js +10 -10
  594. package/SVF-doxygen/html/search/variables_c.js +45 -45
  595. package/SVF-doxygen/html/search/variables_d.js +57 -57
  596. package/SVF-doxygen/html/search/variables_e.js +123 -123
  597. package/SVF-doxygen/html/search/variables_f.js +31 -31
  598. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  599. package/SVF-doxygen/html/structSVF_1_1Hash.html +6 -6
  600. package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +12 -12
  601. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
  602. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +6 -6
  603. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  604. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  605. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  606. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +5 -5
  607. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SingleAbsValue_01_4.html +1 -1
  608. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +1 -1
  609. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  610. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
  611. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +6 -6
  612. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +1 -1
  613. package/SVF-doxygen/html/svf-ex_8cpp.html +21 -21
  614. package/SVF-doxygen/html/svf-ex_8cpp_source.html +21 -21
  615. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
  616. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +3 -3
  617. package/package.json +1 -1
  618. package/svf/include/AE/Core/BoundedZ3Expr.h +33 -20
  619. package/svf/include/AE/Core/IntervalValue.h +57 -5
  620. package/svf/include/AE/Core/NumericLiteral.h +31 -1
  621. package/svf/include/AE/Core/RelationSolver.h +1 -1
  622. package/svf/include/AE/Svfexe/SVFIR2ItvExeState.h +10 -0
  623. package/svf/include/SVFIR/SVFIR.h +2 -1
  624. package/svf/include/SVFIR/SVFStatements.h +12 -2
  625. package/svf/include/Util/GeneralType.h +4 -0
  626. package/svf/include/Util/Options.h +3 -0
  627. package/svf/include/Util/Z3Expr.h +9 -2
  628. package/svf/lib/AE/Core/RelationSolver.cpp +11 -6
  629. package/svf/lib/AE/Svfexe/AbstractExecution.cpp +13 -34
  630. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +6 -6
  631. package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +217 -23
  632. package/svf/lib/SVFIR/PAGBuilderFromFile.cpp +62 -3
  633. package/svf/lib/SVFIR/SVFFileSystem.cpp +4 -1
  634. package/svf/lib/SVFIR/SVFIR.cpp +3 -3
  635. package/svf/lib/Util/Options.cpp +8 -0
  636. package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +39 -3
  637. package/svf-llvm/lib/LLVMModule.cpp +21 -2
  638. package/svf-llvm/lib/SVFIRBuilder.cpp +7 -7
  639. package/svf-llvm/lib/SVFIRExtAPI.cpp +3 -3
@@ -1364,6 +1364,14 @@ Typedefs</h2></td></tr>
1364
1364
  <tr class="separator:a366625858f450a1ea5f985a3c83e0f14"><td class="memSeparator" colspan="2">&#160;</td></tr>
1365
1365
  <tr class="memitem:ad781b0b14e89773e774072b280658ef3"><td class="memItemLeft" align="right" valign="top">typedef signed long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a></td></tr>
1366
1366
  <tr class="separator:ad781b0b14e89773e774072b280658ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
1367
+ <tr class="memitem:a9e83fb2225082782d168f5c7bfc79ba7"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a9e83fb2225082782d168f5c7bfc79ba7">u8_t</a></td></tr>
1368
+ <tr class="separator:a9e83fb2225082782d168f5c7bfc79ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
1369
+ <tr class="memitem:a64e9b1c8c4f095e5b50ba05229c2e1ba"><td class="memItemLeft" align="right" valign="top">typedef signed char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a64e9b1c8c4f095e5b50ba05229c2e1ba">s8_t</a></td></tr>
1370
+ <tr class="separator:a64e9b1c8c4f095e5b50ba05229c2e1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
1371
+ <tr class="memitem:a7c3a917e8b1d3253982e0a1a37b74d93"><td class="memItemLeft" align="right" valign="top">typedef unsigned short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a7c3a917e8b1d3253982e0a1a37b74d93">u16_t</a></td></tr>
1372
+ <tr class="separator:a7c3a917e8b1d3253982e0a1a37b74d93"><td class="memSeparator" colspan="2">&#160;</td></tr>
1373
+ <tr class="memitem:a6ce4cf67f8622443c888737d7366a3e9"><td class="memItemLeft" align="right" valign="top">typedef signed short&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">s16_t</a></td></tr>
1374
+ <tr class="separator:a6ce4cf67f8622443c888737d7366a3e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
1367
1375
  <tr class="memitem:ae71551d6a1fc300e0403297aa25ddf94"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#ae71551d6a1fc300e0403297aa25ddf94">EdgeID</a></td></tr>
1368
1376
  <tr class="separator:ae71551d6a1fc300e0403297aa25ddf94"><td class="memSeparator" colspan="2">&#160;</td></tr>
1369
1377
  <tr class="memitem:ad11fe2412b2182365a662ff0e4639b48"><td class="memItemLeft" align="right" valign="top">typedef unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#ad11fe2412b2182365a662ff0e4639b48">SymID</a></td></tr>
@@ -1766,7 +1774,7 @@ Functions</h2></td></tr>
1766
1774
  </table>
1767
1775
  </div><div class="memdoc">
1768
1776
 
1769
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00056">56</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
1777
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00060">60</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
1770
1778
 
1771
1779
  </div>
1772
1780
  </div>
@@ -1990,7 +1998,7 @@ Functions</h2></td></tr>
1990
1998
  </table>
1991
1999
  </div><div class="memdoc">
1992
2000
 
1993
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00054">54</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2001
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00058">58</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
1994
2002
 
1995
2003
  </div>
1996
2004
  </div>
@@ -2006,7 +2014,7 @@ Functions</h2></td></tr>
2006
2014
  </table>
2007
2015
  </div><div class="memdoc">
2008
2016
 
2009
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00118">118</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2017
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00122">122</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2010
2018
 
2011
2019
  </div>
2012
2020
  </div>
@@ -2666,7 +2674,7 @@ Functions</h2></td></tr>
2666
2674
  </table>
2667
2675
  </div><div class="memdoc">
2668
2676
 
2669
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00052">52</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2677
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00056">56</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2670
2678
 
2671
2679
  </div>
2672
2680
  </div>
@@ -2682,7 +2690,7 @@ Functions</h2></td></tr>
2682
2690
  </table>
2683
2691
  </div><div class="memdoc">
2684
2692
 
2685
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00117">117</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2693
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00121">121</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2686
2694
 
2687
2695
  </div>
2688
2696
  </div>
@@ -2698,7 +2706,7 @@ Functions</h2></td></tr>
2698
2706
  </table>
2699
2707
  </div><div class="memdoc">
2700
2708
 
2701
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00113">113</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2709
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00117">117</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
2702
2710
 
2703
2711
  </div>
2704
2712
  </div>
@@ -3840,7 +3848,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
3840
3848
  </table>
3841
3849
  </div><div class="memdoc">
3842
3850
 
3843
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00097">97</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
3851
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00101">101</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
3844
3852
 
3845
3853
  </div>
3846
3854
  </div>
@@ -4018,7 +4026,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4018
4026
  </table>
4019
4027
  </div><div class="memdoc">
4020
4028
 
4021
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00058">58</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4029
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00062">62</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4022
4030
 
4023
4031
  </div>
4024
4032
  </div>
@@ -4034,7 +4042,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4034
4042
  </table>
4035
4043
  </div><div class="memdoc">
4036
4044
 
4037
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00116">116</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4045
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00120">120</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4038
4046
 
4039
4047
  </div>
4040
4048
  </div>
@@ -4066,7 +4074,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4066
4074
  </table>
4067
4075
  </div><div class="memdoc">
4068
4076
 
4069
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00115">115</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4077
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00119">119</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4070
4078
 
4071
4079
  </div>
4072
4080
  </div>
@@ -4082,7 +4090,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4082
4090
  </table>
4083
4091
  </div><div class="memdoc">
4084
4092
 
4085
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00107">107</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4093
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00111">111</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4086
4094
 
4087
4095
  </div>
4088
4096
  </div>
@@ -4098,7 +4106,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4098
4106
  </table>
4099
4107
  </div><div class="memdoc">
4100
4108
 
4101
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00111">111</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4109
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00115">115</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4102
4110
 
4103
4111
  </div>
4104
4112
  </div>
@@ -4114,7 +4122,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4114
4122
  </table>
4115
4123
  </div><div class="memdoc">
4116
4124
 
4117
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00110">110</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4125
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00114">114</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4118
4126
 
4119
4127
  </div>
4120
4128
  </div>
@@ -4146,7 +4154,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4146
4154
  </table>
4147
4155
  </div><div class="memdoc">
4148
4156
 
4149
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00109">109</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4157
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00113">113</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4150
4158
 
4151
4159
  </div>
4152
4160
  </div>
@@ -4162,7 +4170,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4162
4170
  </table>
4163
4171
  </div><div class="memdoc">
4164
4172
 
4165
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00114">114</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4173
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00118">118</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4166
4174
 
4167
4175
  </div>
4168
4176
  </div>
@@ -4178,7 +4186,7 @@ template&lt;typename Key , typename Value , typename Hash = Hash&lt;Key&gt;, ty
4178
4186
  </table>
4179
4187
  </div><div class="memdoc">
4180
4188
 
4181
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00112">112</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4189
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00116">116</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4182
4190
 
4183
4191
  </div>
4184
4192
  </div>
@@ -4212,7 +4220,7 @@ template&lt;typename Key , typename Value , typename Compare = std::less&lt;Key
4212
4220
  </table>
4213
4221
  </div><div class="memdoc">
4214
4222
 
4215
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00105">105</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4223
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00109">109</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4216
4224
 
4217
4225
  </div>
4218
4226
  </div>
@@ -4228,7 +4236,7 @@ template&lt;typename Key , typename Value , typename Compare = std::less&lt;Key
4228
4236
  </table>
4229
4237
  </div><div class="memdoc">
4230
4238
 
4231
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00108">108</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4239
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00112">112</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4232
4240
 
4233
4241
  </div>
4234
4242
  </div>
@@ -4246,7 +4254,7 @@ template&lt;typename Key , typename Compare = std::less&lt;Key&gt;, typename Al
4246
4254
  </table>
4247
4255
  </div><div class="memdoc">
4248
4256
 
4249
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00101">101</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4257
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00105">105</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4250
4258
 
4251
4259
  </div>
4252
4260
  </div>
@@ -4278,7 +4286,7 @@ template&lt;typename Key , typename Compare = std::less&lt;Key&gt;, typename Al
4278
4286
  </table>
4279
4287
  </div><div class="memdoc">
4280
4288
 
4281
- <p class="definition">Definition at line <a class="el" href="SVFIR_8h_source.html#l00685">685</a> of file <a class="el" href="SVFIR_8h_source.html">SVFIR.h</a>.</p>
4289
+ <p class="definition">Definition at line <a class="el" href="SVFIR_8h_source.html#l00686">686</a> of file <a class="el" href="SVFIR_8h_source.html">SVFIR.h</a>.</p>
4282
4290
 
4283
4291
  </div>
4284
4292
  </div>
@@ -4374,7 +4382,7 @@ template&lt;typename Key , typename Compare = std::less&lt;Key&gt;, typename Al
4374
4382
  </table>
4375
4383
  </div><div class="memdoc">
4376
4384
 
4377
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00059">59</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4385
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00063">63</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4378
4386
 
4379
4387
  </div>
4380
4388
  </div>
@@ -4460,6 +4468,22 @@ template&lt;typename WrappedIteratorT , typename T1 = std::remove_reference_t&l
4460
4468
 
4461
4469
  <p class="definition">Definition at line <a class="el" href="BasicTypes_8h_source.html#l00157">157</a> of file <a class="el" href="BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
4462
4470
 
4471
+ </div>
4472
+ </div>
4473
+ <a id="a6ce4cf67f8622443c888737d7366a3e9"></a>
4474
+ <h2 class="memtitle"><span class="permalink"><a href="#a6ce4cf67f8622443c888737d7366a3e9">&#9670;&nbsp;</a></span>s16_t</h2>
4475
+
4476
+ <div class="memitem">
4477
+ <div class="memproto">
4478
+ <table class="memname">
4479
+ <tr>
4480
+ <td class="memname">typedef signed short <a class="el" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">SVF::s16_t</a></td>
4481
+ </tr>
4482
+ </table>
4483
+ </div><div class="memdoc">
4484
+
4485
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00053">53</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4486
+
4463
4487
  </div>
4464
4488
  </div>
4465
4489
  <a id="a9b707002523ece2ac54ca893ee9a2d4e"></a>
@@ -4492,6 +4516,22 @@ template&lt;typename WrappedIteratorT , typename T1 = std::remove_reference_t&l
4492
4516
 
4493
4517
  <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00049">49</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4494
4518
 
4519
+ </div>
4520
+ </div>
4521
+ <a id="a64e9b1c8c4f095e5b50ba05229c2e1ba"></a>
4522
+ <h2 class="memtitle"><span class="permalink"><a href="#a64e9b1c8c4f095e5b50ba05229c2e1ba">&#9670;&nbsp;</a></span>s8_t</h2>
4523
+
4524
+ <div class="memitem">
4525
+ <div class="memproto">
4526
+ <table class="memname">
4527
+ <tr>
4528
+ <td class="memname">typedef signed char <a class="el" href="namespaceSVF.html#a64e9b1c8c4f095e5b50ba05229c2e1ba">SVF::s8_t</a></td>
4529
+ </tr>
4530
+ </table>
4531
+ </div><div class="memdoc">
4532
+
4533
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00051">51</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4534
+
4495
4535
  </div>
4496
4536
  </div>
4497
4537
  <a id="ad8794eb3c00de3d3b5c5e43dded3fb42"></a>
@@ -4604,7 +4644,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
4604
4644
  </table>
4605
4645
  </div><div class="memdoc">
4606
4646
 
4607
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00092">92</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4647
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00096">96</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4608
4648
 
4609
4649
  </div>
4610
4650
  </div>
@@ -4832,7 +4872,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
4832
4872
  </table>
4833
4873
  </div><div class="memdoc">
4834
4874
 
4835
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00053">53</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4875
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00057">57</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4836
4876
 
4837
4877
  </div>
4838
4878
  </div>
@@ -4848,7 +4888,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
4848
4888
  </table>
4849
4889
  </div><div class="memdoc">
4850
4890
 
4851
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00055">55</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4891
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00059">59</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4852
4892
 
4853
4893
  </div>
4854
4894
  </div>
@@ -4866,6 +4906,22 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
4866
4906
 
4867
4907
  <p class="definition">Definition at line <a class="el" href="BasicTypes_8h_source.html#l00083">83</a> of file <a class="el" href="BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
4868
4908
 
4909
+ </div>
4910
+ </div>
4911
+ <a id="a7c3a917e8b1d3253982e0a1a37b74d93"></a>
4912
+ <h2 class="memtitle"><span class="permalink"><a href="#a7c3a917e8b1d3253982e0a1a37b74d93">&#9670;&nbsp;</a></span>u16_t</h2>
4913
+
4914
+ <div class="memitem">
4915
+ <div class="memproto">
4916
+ <table class="memname">
4917
+ <tr>
4918
+ <td class="memname">typedef unsigned short <a class="el" href="namespaceSVF.html#a7c3a917e8b1d3253982e0a1a37b74d93">SVF::u16_t</a></td>
4919
+ </tr>
4920
+ </table>
4921
+ </div><div class="memdoc">
4922
+
4923
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00052">52</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4924
+
4869
4925
  </div>
4870
4926
  </div>
4871
4927
  <a id="ad42bff8d0a7d60a085aa32d10f4955af"></a>
@@ -4898,6 +4954,22 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
4898
4954
 
4899
4955
  <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00048">48</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4900
4956
 
4957
+ </div>
4958
+ </div>
4959
+ <a id="a9e83fb2225082782d168f5c7bfc79ba7"></a>
4960
+ <h2 class="memtitle"><span class="permalink"><a href="#a9e83fb2225082782d168f5c7bfc79ba7">&#9670;&nbsp;</a></span>u8_t</h2>
4961
+
4962
+ <div class="memitem">
4963
+ <div class="memproto">
4964
+ <table class="memname">
4965
+ <tr>
4966
+ <td class="memname">typedef unsigned char <a class="el" href="namespaceSVF.html#a9e83fb2225082782d168f5c7bfc79ba7">SVF::u8_t</a></td>
4967
+ </tr>
4968
+ </table>
4969
+ </div><div class="memdoc">
4970
+
4971
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00050">50</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
4972
+
4901
4973
  </div>
4902
4974
  </div>
4903
4975
  <a id="a292a6e8c5b4f2023b5575879c57eca62"></a>
@@ -5106,7 +5178,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
5106
5178
  </table>
5107
5179
  </div><div class="memdoc">
5108
5180
 
5109
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00119">119</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5181
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00123">123</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5110
5182
 
5111
5183
  </div>
5112
5184
  </div>
@@ -5122,7 +5194,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
5122
5194
  </table>
5123
5195
  </div><div class="memdoc">
5124
5196
 
5125
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00121">121</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5197
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00125">125</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5126
5198
 
5127
5199
  </div>
5128
5200
  </div>
@@ -5138,7 +5210,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
5138
5210
  </table>
5139
5211
  </div><div class="memdoc">
5140
5212
 
5141
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00122">122</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5213
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00126">126</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5142
5214
 
5143
5215
  </div>
5144
5216
  </div>
@@ -5154,7 +5226,7 @@ template&lt;typename Key , typename Hash = Hash&lt;Key&gt;, typename KeyEqual
5154
5226
  </table>
5155
5227
  </div><div class="memdoc">
5156
5228
 
5157
- <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00120">120</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5229
+ <p class="definition">Definition at line <a class="el" href="GeneralType_8h_source.html#l00124">124</a> of file <a class="el" href="GeneralType_8h_source.html">GeneralType.h</a>.</p>
5158
5230
 
5159
5231
  </div>
5160
5232
  </div>
@@ -5825,17 +5897,17 @@ template&lt;unsigned ElementSize&gt; </div>
5825
5897
  <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</div>
5826
5898
  <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">else</span></div>
5827
5899
  <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div>
5828
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; int64_t lb_val = inv.lb().getNumeral();</div>
5829
- <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; int64_t ub_val = inv.ub().getNumeral();</div>
5900
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb_val = inv.lb().getNumeral();</div>
5901
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub_val = inv.ub().getNumeral();</div>
5830
5902
  <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
5831
5903
  <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// check lb</span></div>
5832
- <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> lb_s32 = (lb_val &lt; static_cast&lt;int64_t&gt;(INT_MIN)) ? INT_MIN :</div>
5833
- <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; (lb_val &gt; <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(INT_MAX)) ? INT_MAX :</div>
5904
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> lb_s32 = (lb_val &lt; static_cast&lt;s64_t&gt;(INT_MIN)) ? INT_MIN :</div>
5905
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; (lb_val &gt; <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(INT_MAX)) ? INT_MAX :</div>
5834
5906
  <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a><span class="keyword">&gt;</span>(lb_val);</div>
5835
5907
  <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
5836
5908
  <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// check ub</span></div>
5837
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> ub_s32 = (ub_val &lt; static_cast&lt;int64_t&gt;(INT_MIN)) ? INT_MIN :</div>
5838
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; (ub_val &gt; <span class="keyword">static_cast&lt;</span>int64_t<span class="keyword">&gt;</span>(INT_MAX)) ? INT_MAX :</div>
5909
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> ub_s32 = (ub_val &lt; static_cast&lt;s64_t&gt;(INT_MIN)) ? INT_MIN :</div>
5910
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; (ub_val &gt; <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(INT_MAX)) ? INT_MAX :</div>
5839
5911
  <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a><span class="keyword">&gt;</span>(ub_val);</div>
5840
5912
  <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
5841
5913
  <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;[&quot;</span> + std::to_string(lb_s32) + <span class="stringliteral">&quot;, &quot;</span> + std::to_string(ub_s32) + <span class="stringliteral">&quot;]&quot;</span>;</div>
@@ -5922,10 +5994,10 @@ template&lt;class GraphType &gt; </div>
5922
5994
  </table>
5923
5995
  </div><div class="memdoc">
5924
5996
 
5925
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00950">950</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
5926
- <div class="fragment"><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;{</div>
5927
- <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">return</span> cJSON_AddItemToArray(array, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
5928
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;}</div>
5997
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00952">952</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
5998
+ <div class="fragment"><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;{</div>
5999
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">return</span> cJSON_AddItemToArray(array, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6000
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;}</div>
5929
6001
  </div><!-- fragment -->
5930
6002
  </div>
5931
6003
  </div>
@@ -5961,11 +6033,11 @@ template&lt;class GraphType &gt; </div>
5961
6033
  </table>
5962
6034
  </div><div class="memdoc">
5963
6035
 
5964
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00944">944</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
5965
- <div class="fragment"><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;{</div>
5966
- <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() ? cJSON_AddItemToObject(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div>
5967
- <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; : cJSON_AddItemToArray(obj, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
5968
- <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;}</div>
6036
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00946">946</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6037
+ <div class="fragment"><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div>
6038
+ <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() ? cJSON_AddItemToObject(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div>
6039
+ <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; : cJSON_AddItemToArray(obj, <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6040
+ <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;}</div>
5969
6041
  </div><!-- fragment -->
5970
6042
  </div>
5971
6043
  </div>
@@ -6003,11 +6075,11 @@ template&lt;class GraphType &gt; </div>
6003
6075
 
6004
6076
  <p>Helper function to write a number to a JSON object. </p>
6005
6077
 
6006
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00793">793</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6007
- <div class="fragment"><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;{</div>
6008
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* node = cJSON_CreateNumber(<a class="code" href="cJSON_8h.html#a6288dae99eabb0a393b1d4974e01cde7">number</a>);</div>
6009
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#ad0cc661dce7398ffe4f6a4785dd002d3">jsonAddItemToObject</a>(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, node);</div>
6010
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;}</div>
6078
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00795">795</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6079
+ <div class="fragment"><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;{</div>
6080
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* node = cJSON_CreateNumber(<a class="code" href="cJSON_8h.html#a6288dae99eabb0a393b1d4974e01cde7">number</a>);</div>
6081
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#ad0cc661dce7398ffe4f6a4785dd002d3">jsonAddItemToObject</a>(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, node);</div>
6082
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;}</div>
6011
6083
  </div><!-- fragment -->
6012
6084
  </div>
6013
6085
  </div>
@@ -6043,14 +6115,14 @@ template&lt;class GraphType &gt; </div>
6043
6115
  </table>
6044
6116
  </div><div class="memdoc">
6045
6117
 
6046
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00935">935</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6047
- <div class="fragment"><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160;{</div>
6048
- <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* pair = cJSON_CreateArray();</div>
6049
- <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <a class="code" href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">jsonAddItemToArray</a>(pair, key);</div>
6050
- <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <a class="code" href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">jsonAddItemToArray</a>(pair, value);</div>
6051
- <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <a class="code" href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">jsonAddItemToArray</a>(mapObj, pair);</div>
6052
- <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keywordflow">return</span> pair;</div>
6053
- <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;}</div>
6118
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00937">937</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6119
+ <div class="fragment"><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;{</div>
6120
+ <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* pair = cJSON_CreateArray();</div>
6121
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <a class="code" href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">jsonAddItemToArray</a>(pair, key);</div>
6122
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <a class="code" href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">jsonAddItemToArray</a>(pair, value);</div>
6123
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <a class="code" href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">jsonAddItemToArray</a>(mapObj, pair);</div>
6124
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="keywordflow">return</span> pair;</div>
6125
+ <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;}</div>
6054
6126
  </div><!-- fragment -->
6055
6127
  </div>
6056
6128
  </div>
@@ -6086,11 +6158,11 @@ template&lt;class GraphType &gt; </div>
6086
6158
  </table>
6087
6159
  </div><div class="memdoc">
6088
6160
 
6089
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00799">799</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6090
- <div class="fragment"><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;{</div>
6091
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* node = cJSON_CreateStringReference(str);</div>
6092
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#ad0cc661dce7398ffe4f6a4785dd002d3">jsonAddItemToObject</a>(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, node);</div>
6093
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;}</div>
6161
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00801">801</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6162
+ <div class="fragment"><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;{</div>
6163
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* node = cJSON_CreateStringReference(str);</div>
6164
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#ad0cc661dce7398ffe4f6a4785dd002d3">jsonAddItemToObject</a>(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, node);</div>
6165
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;}</div>
6094
6166
  </div><!-- fragment -->
6095
6167
  </div>
6096
6168
  </div>
@@ -6126,10 +6198,10 @@ template&lt;class GraphType &gt; </div>
6126
6198
  </table>
6127
6199
  </div><div class="memdoc">
6128
6200
 
6129
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00805">805</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6130
- <div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div>
6131
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#ac2917bc796cc783e838d9fcca83b9631">jsonAddStringToObject</a>(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, s.c_str());</div>
6132
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;}</div>
6201
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00807">807</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6202
+ <div class="fragment"><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;{</div>
6203
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#ac2917bc796cc783e838d9fcca83b9631">jsonAddStringToObject</a>(obj, <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, s.c_str());</div>
6204
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;}</div>
6133
6205
  </div><!-- fragment -->
6134
6206
  </div>
6135
6207
  </div>
@@ -6148,10 +6220,10 @@ template&lt;class GraphType &gt; </div>
6148
6220
  </table>
6149
6221
  </div><div class="memdoc">
6150
6222
 
6151
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00900">900</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6152
- <div class="fragment"><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;{</div>
6153
- <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">return</span> cJSON_CreateArray();</div>
6154
- <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;}</div>
6223
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00902">902</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6224
+ <div class="fragment"><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;{</div>
6225
+ <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keywordflow">return</span> cJSON_CreateArray();</div>
6226
+ <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;}</div>
6155
6227
  </div><!-- fragment -->
6156
6228
  </div>
6157
6229
  </div>
@@ -6171,11 +6243,11 @@ template&lt;class GraphType &gt; </div>
6171
6243
  </table>
6172
6244
  </div><div class="memdoc">
6173
6245
 
6174
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00924">924</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6175
- <div class="fragment"><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;{</div>
6176
- <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordtype">bool</span> hr = <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>();</div>
6177
- <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keywordflow">return</span> hr ? cJSON_CreateBool(flag) : cJSON_CreateNumber(flag);</div>
6178
- <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;}</div>
6246
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00926">926</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6247
+ <div class="fragment"><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;{</div>
6248
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordtype">bool</span> hr = <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>();</div>
6249
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">return</span> hr ? cJSON_CreateBool(flag) : cJSON_CreateNumber(flag);</div>
6250
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;}</div>
6179
6251
  </div><!-- fragment -->
6180
6252
  </div>
6181
6253
  </div>
@@ -6195,13 +6267,13 @@ template&lt;class GraphType &gt; </div>
6195
6267
  </table>
6196
6268
  </div><div class="memdoc">
6197
6269
 
6198
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00916">916</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6199
- <div class="fragment"><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;{</div>
6200
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; constexpr <span class="keywordtype">size_t</span> maxPreciseIntInDouble = (1ull &lt;&lt; 53);</div>
6201
- <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; (void)maxPreciseIntInDouble; <span class="comment">// silence unused warning</span></div>
6202
- <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; assert(<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> &lt;= maxPreciseIntInDouble);</div>
6203
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordflow">return</span> cJSON_CreateNumber(<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div>
6204
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160;}</div>
6270
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00918">918</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6271
+ <div class="fragment"><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;{</div>
6272
+ <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; constexpr <span class="keywordtype">size_t</span> maxPreciseIntInDouble = (1ull &lt;&lt; 53);</div>
6273
+ <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; (void)maxPreciseIntInDouble; <span class="comment">// silence unused warning</span></div>
6274
+ <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; assert(<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> &lt;= maxPreciseIntInDouble);</div>
6275
+ <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">return</span> cJSON_CreateNumber(<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div>
6276
+ <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;}</div>
6205
6277
  </div><!-- fragment -->
6206
6278
  </div>
6207
6279
  </div>
@@ -6220,11 +6292,11 @@ template&lt;class GraphType &gt; </div>
6220
6292
  </table>
6221
6293
  </div><div class="memdoc">
6222
6294
 
6223
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00905">905</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6224
- <div class="fragment"><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160;{</div>
6225
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="comment">// Don&#39;t use cJSON_CreateObject() here, because it only allows string keys.</span></div>
6226
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">return</span> cJSON_CreateArray();</div>
6227
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;}</div>
6295
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00907">907</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6296
+ <div class="fragment"><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;{</div>
6297
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="comment">// Don&#39;t use cJSON_CreateObject() here, because it only allows string keys.</span></div>
6298
+ <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">return</span> cJSON_CreateArray();</div>
6299
+ <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;}</div>
6228
6300
  </div><!-- fragment -->
6229
6301
  </div>
6230
6302
  </div>
@@ -6243,11 +6315,11 @@ template&lt;class GraphType &gt; </div>
6243
6315
  </table>
6244
6316
  </div><div class="memdoc">
6245
6317
 
6246
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00889">889</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6247
- <div class="fragment"><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;{</div>
6248
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="comment">// TODO: optimize</span></div>
6249
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">return</span> cJSON_CreateNull();</div>
6250
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;}</div>
6318
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00891">891</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6319
+ <div class="fragment"><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;{</div>
6320
+ <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="comment">// TODO: optimize</span></div>
6321
+ <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">return</span> cJSON_CreateNull();</div>
6322
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;}</div>
6251
6323
  </div><!-- fragment -->
6252
6324
  </div>
6253
6325
  </div>
@@ -6267,10 +6339,10 @@ template&lt;class GraphType &gt; </div>
6267
6339
  </table>
6268
6340
  </div><div class="memdoc">
6269
6341
 
6270
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00930">930</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6271
- <div class="fragment"><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;{</div>
6272
- <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">return</span> cJSON_CreateNumber(num);</div>
6273
- <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;}</div>
6342
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00932">932</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6343
+ <div class="fragment"><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;{</div>
6344
+ <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">return</span> cJSON_CreateNumber(num);</div>
6345
+ <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160;}</div>
6274
6346
  </div><!-- fragment -->
6275
6347
  </div>
6276
6348
  </div>
@@ -6289,10 +6361,10 @@ template&lt;class GraphType &gt; </div>
6289
6361
  </table>
6290
6362
  </div><div class="memdoc">
6291
6363
 
6292
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00895">895</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6293
- <div class="fragment"><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;{</div>
6294
- <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() ? cJSON_CreateObject() : cJSON_CreateArray();</div>
6295
- <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;}</div>
6364
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00897">897</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6365
+ <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div>
6366
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() ? cJSON_CreateObject() : cJSON_CreateArray();</div>
6367
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;}</div>
6296
6368
  </div><!-- fragment -->
6297
6369
  </div>
6298
6370
  </div>
@@ -6312,10 +6384,10 @@ template&lt;class GraphType &gt; </div>
6312
6384
  </table>
6313
6385
  </div><div class="memdoc">
6314
6386
 
6315
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00911">911</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6316
- <div class="fragment"><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;{</div>
6317
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <span class="keywordflow">return</span> cJSON_CreateStringReference(str);</div>
6318
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;}</div>
6387
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00913">913</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6388
+ <div class="fragment"><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;{</div>
6389
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">return</span> cJSON_CreateStringReference(str);</div>
6390
+ <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;}</div>
6319
6391
  </div><!-- fragment -->
6320
6392
  </div>
6321
6393
  </div>
@@ -6335,11 +6407,11 @@ template&lt;class GraphType &gt; </div>
6335
6407
  </table>
6336
6408
  </div><div class="memdoc">
6337
6409
 
6338
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00883">883</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6339
- <div class="fragment"><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;{</div>
6340
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(<a class="code" href="namespaceSVF.html#a33124cbc57355f15793da18e69f6b9d7">jsonIsNumber</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>), <span class="stringliteral">&quot;Expected number for &quot;</span> &lt;&lt; <a class="code" href="SVFFileSystem_8h.html#abe7df84818bd194fefc80d766e0998da">JSON_KEY</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>));</div>
6341
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#a4b21817d0fd2919901abadac73214e7f">valuedouble</a>;</div>
6342
- <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;}</div>
6410
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00885">885</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6411
+ <div class="fragment"><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;{</div>
6412
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(<a class="code" href="namespaceSVF.html#a33124cbc57355f15793da18e69f6b9d7">jsonIsNumber</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>), <span class="stringliteral">&quot;Expected number for &quot;</span> &lt;&lt; <a class="code" href="SVFFileSystem_8h.html#abe7df84818bd194fefc80d766e0998da">JSON_KEY</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>));</div>
6413
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#a4b21817d0fd2919901abadac73214e7f">valuedouble</a>;</div>
6414
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;}</div>
6343
6415
  </div><!-- fragment -->
6344
6416
  </div>
6345
6417
  </div>
@@ -6359,10 +6431,10 @@ template&lt;class GraphType &gt; </div>
6359
6431
  </table>
6360
6432
  </div><div class="memdoc">
6361
6433
 
6362
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00852">852</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6363
- <div class="fragment"><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;{</div>
6364
- <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">return</span> cJSON_IsArray(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6365
- <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;}</div>
6434
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00854">854</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6435
+ <div class="fragment"><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;{</div>
6436
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">return</span> cJSON_IsArray(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6437
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;}</div>
6366
6438
  </div><!-- fragment -->
6367
6439
  </div>
6368
6440
  </div>
@@ -6382,13 +6454,13 @@ template&lt;class GraphType &gt; </div>
6382
6454
  </table>
6383
6455
  </div><div class="memdoc">
6384
6456
 
6385
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00810">810</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6386
- <div class="fragment"><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;{</div>
6387
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>()</div>
6388
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; ? cJSON_IsBool(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div>
6389
- <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; : cJSON_IsNumber(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>) &amp;&amp;</div>
6390
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="cJSON_8cpp.html#a6ea693e884dae57fb36b03a8ba6cad27">valuedouble</a> == 0 || <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="cJSON_8cpp.html#a6ea693e884dae57fb36b03a8ba6cad27">valuedouble</a> == 1);</div>
6391
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;}</div>
6457
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00812">812</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6458
+ <div class="fragment"><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;{</div>
6459
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>()</div>
6460
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; ? cJSON_IsBool(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div>
6461
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; : cJSON_IsNumber(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>) &amp;&amp;</div>
6462
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; (<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="cJSON_8cpp.html#a6ea693e884dae57fb36b03a8ba6cad27">valuedouble</a> == 0 || <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="cJSON_8cpp.html#a6ea693e884dae57fb36b03a8ba6cad27">valuedouble</a> == 1);</div>
6463
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;}</div>
6392
6464
  </div><!-- fragment -->
6393
6465
  </div>
6394
6466
  </div>
@@ -6418,23 +6490,23 @@ template&lt;class GraphType &gt; </div>
6418
6490
  </table>
6419
6491
  </div><div class="memdoc">
6420
6492
 
6421
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00818">818</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6422
- <div class="fragment"><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;{</div>
6423
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>())</div>
6424
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div>
6425
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">if</span> (!cJSON_IsBool(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>))</div>
6426
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
6427
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; flag = cJSON_IsTrue(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6428
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
6429
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
6430
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">else</span></div>
6431
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div>
6432
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">if</span> (!cJSON_IsNumber(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>))</div>
6433
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
6434
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; flag = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#a4b21817d0fd2919901abadac73214e7f">valuedouble</a> == 1;</div>
6435
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
6436
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; }</div>
6437
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;}</div>
6493
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00820">820</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6494
+ <div class="fragment"><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;{</div>
6495
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>())</div>
6496
+ <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div>
6497
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">if</span> (!cJSON_IsBool(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>))</div>
6498
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
6499
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; flag = cJSON_IsTrue(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6500
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
6501
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; }</div>
6502
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">else</span></div>
6503
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; {</div>
6504
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">if</span> (!cJSON_IsNumber(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>))</div>
6505
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
6506
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; flag = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#a4b21817d0fd2919901abadac73214e7f">valuedouble</a> == 1;</div>
6507
+ <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
6508
+ <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div>
6509
+ <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;}</div>
6438
6510
  </div><!-- fragment -->
6439
6511
  </div>
6440
6512
  </div>
@@ -6454,10 +6526,10 @@ template&lt;class GraphType &gt; </div>
6454
6526
  </table>
6455
6527
  </div><div class="memdoc">
6456
6528
 
6457
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00857">857</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6458
- <div class="fragment"><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;{</div>
6459
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">return</span> cJSON_IsArray(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6460
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;}</div>
6529
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00859">859</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6530
+ <div class="fragment"><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160;{</div>
6531
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span> cJSON_IsArray(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6532
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;}</div>
6461
6533
  </div><!-- fragment -->
6462
6534
  </div>
6463
6535
  </div>
@@ -6477,11 +6549,11 @@ template&lt;class GraphType &gt; </div>
6477
6549
  </table>
6478
6550
  </div><div class="memdoc">
6479
6551
 
6480
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00846">846</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6481
- <div class="fragment"><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;{</div>
6482
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="comment">// TODO: optimize</span></div>
6483
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">return</span> cJSON_IsNull(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6484
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;}</div>
6552
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00848">848</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6553
+ <div class="fragment"><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;{</div>
6554
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">// TODO: optimize</span></div>
6555
+ <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="keywordflow">return</span> cJSON_IsNull(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6556
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;}</div>
6485
6557
  </div><!-- fragment -->
6486
6558
  </div>
6487
6559
  </div>
@@ -6501,10 +6573,10 @@ template&lt;class GraphType &gt; </div>
6501
6573
  </table>
6502
6574
  </div><div class="memdoc">
6503
6575
 
6504
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00836">836</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6505
- <div class="fragment"><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;{</div>
6506
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">return</span> cJSON_IsNumber(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6507
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;}</div>
6576
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00838">838</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6577
+ <div class="fragment"><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;{</div>
6578
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> cJSON_IsNumber(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6579
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160;}</div>
6508
6580
  </div><!-- fragment -->
6509
6581
  </div>
6510
6582
  </div>
@@ -6524,10 +6596,10 @@ template&lt;class GraphType &gt; </div>
6524
6596
  </table>
6525
6597
  </div><div class="memdoc">
6526
6598
 
6527
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00862">862</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6528
- <div class="fragment"><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;{</div>
6529
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() ? cJSON_IsObject(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>) : cJSON_IsArray(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6530
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;}</div>
6599
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00864">864</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6600
+ <div class="fragment"><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;{</div>
6601
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">return</span> <a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() ? cJSON_IsObject(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>) : cJSON_IsArray(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6602
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;}</div>
6531
6603
  </div><!-- fragment -->
6532
6604
  </div>
6533
6605
  </div>
@@ -6547,10 +6619,10 @@ template&lt;class GraphType &gt; </div>
6547
6619
  </table>
6548
6620
  </div><div class="memdoc">
6549
6621
 
6550
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00841">841</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6551
- <div class="fragment"><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;{</div>
6552
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">return</span> cJSON_IsString(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6553
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;}</div>
6622
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00843">843</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6623
+ <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;{</div>
6624
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">return</span> cJSON_IsString(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div>
6625
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;}</div>
6554
6626
  </div><!-- fragment -->
6555
6627
  </div>
6556
6628
  </div>
@@ -6580,10 +6652,10 @@ template&lt;class GraphType &gt; </div>
6580
6652
  </table>
6581
6653
  </div><div class="memdoc">
6582
6654
 
6583
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00867">867</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6584
- <div class="fragment"><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;{</div>
6585
- <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> &amp;&amp; !(<a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() &amp;&amp; std::strcmp(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">string</a>, key));</div>
6586
- <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;}</div>
6655
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00869">869</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6656
+ <div class="fragment"><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;{</div>
6657
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> &amp;&amp; !(<a class="code" href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a>() &amp;&amp; std::strcmp(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#aa6b47e9a4b0e0a26f519b1a2b6739983">string</a>, key));</div>
6658
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;}</div>
6587
6659
  </div><!-- fragment -->
6588
6660
  </div>
6589
6661
  </div>
@@ -6603,16 +6675,16 @@ template&lt;class GraphType &gt; </div>
6603
6675
  </table>
6604
6676
  </div><div class="memdoc">
6605
6677
 
6606
- <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00872">872</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6607
- <div class="fragment"><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;{</div>
6608
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(<a class="code" href="namespaceSVF.html#a708e67ca4653f2e7b07a08cae850c33d">jsonIsArray</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>), <span class="stringliteral">&quot;Expected array as pair&quot;</span>);</div>
6609
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* child1 = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div>
6610
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(child1, <span class="stringliteral">&quot;Missing first child of pair&quot;</span>);</div>
6611
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* child2 = child1-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div>
6612
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(child2, <span class="stringliteral">&quot;Missing first child of pair&quot;</span>);</div>
6613
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(!child2-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>, <span class="stringliteral">&quot;Pair has more than two children&quot;</span>);</div>
6614
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">return</span> {child1, child2};</div>
6615
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;}</div>
6678
+ <p class="definition">Definition at line <a class="el" href="SVFFileSystem_8cpp_source.html#l00874">874</a> of file <a class="el" href="SVFFileSystem_8cpp_source.html">SVFFileSystem.cpp</a>.</p>
6679
+ <div class="fragment"><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;{</div>
6680
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(<a class="code" href="namespaceSVF.html#a708e67ca4653f2e7b07a08cae850c33d">jsonIsArray</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>), <span class="stringliteral">&quot;Expected array as pair&quot;</span>);</div>
6681
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* child1 = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>-&gt;<a class="code" href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">child</a>;</div>
6682
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(child1, <span class="stringliteral">&quot;Missing first child of pair&quot;</span>);</div>
6683
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="structcJSON.html">cJSON</a>* child2 = child1-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>;</div>
6684
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(child2, <span class="stringliteral">&quot;Missing first child of pair&quot;</span>);</div>
6685
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <a class="code" href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a>(!child2-&gt;<a class="code" href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">next</a>, <span class="stringliteral">&quot;Pair has more than two children&quot;</span>);</div>
6686
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keywordflow">return</span> {child1, child2};</div>
6687
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;}</div>
6616
6688
  </div><!-- fragment -->
6617
6689
  </div>
6618
6690
  </div>
@@ -7061,43 +7133,43 @@ template&lt;class GraphType &gt; </div>
7061
7133
 
7062
7134
  <p>Divide IntervalValues. </p>
7063
7135
 
7064
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00541">541</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7065
- <div class="fragment"><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;{</div>
7066
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7067
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; {</div>
7068
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7069
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div>
7070
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.contains(0))</div>
7071
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div>
7072
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> lhs.is_zero() ? IntervalValue(0, 0) : IntervalValue::top();</div>
7073
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; }</div>
7074
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7075
- <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; {</div>
7076
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() % rhs.lb(), lhs.lb() % rhs.lb());</div>
7077
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div>
7078
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">else</span></div>
7079
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div>
7080
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; NumericLiteral n_ub = max(abs(lhs.lb()), abs(lhs.ub()));</div>
7081
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; NumericLiteral d_ub = max(abs(rhs.lb()), rhs.ub()) - 1;</div>
7082
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; NumericLiteral ub = min(n_ub, d_ub);</div>
7083
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; </div>
7084
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">if</span> (lhs.lb().getNumeral() &lt; 0)</div>
7085
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div>
7086
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">if</span> (lhs.ub().getNumeral() &gt; 0)</div>
7087
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; {</div>
7088
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> IntervalValue(-ub, ub);</div>
7089
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
7090
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">else</span></div>
7091
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div>
7092
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> IntervalValue(-ub, 0);</div>
7093
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div>
7094
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; }</div>
7095
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">else</span></div>
7096
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; {</div>
7097
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, ub);</div>
7098
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div>
7099
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div>
7100
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;}</div>
7136
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00593">593</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7137
+ <div class="fragment"><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;{</div>
7138
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7139
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div>
7140
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7141
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; }</div>
7142
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.contains(0))</div>
7143
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; {</div>
7144
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">return</span> lhs.is_zero() ? IntervalValue(0, 0) : IntervalValue::top();</div>
7145
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; }</div>
7146
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7147
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div>
7148
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() % rhs.lb(), lhs.lb() % rhs.lb());</div>
7149
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; }</div>
7150
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">else</span></div>
7151
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; {</div>
7152
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; NumericLiteral n_ub = max(abs(lhs.lb()), abs(lhs.ub()));</div>
7153
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; NumericLiteral d_ub = max(abs(rhs.lb()), rhs.ub()) - 1;</div>
7154
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; NumericLiteral ub = min(n_ub, d_ub);</div>
7155
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; </div>
7156
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">if</span> (lhs.lb().getNumeral() &lt; 0)</div>
7157
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div>
7158
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">if</span> (lhs.ub().getNumeral() &gt; 0)</div>
7159
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; {</div>
7160
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">return</span> IntervalValue(-ub, ub);</div>
7161
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; }</div>
7162
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">else</span></div>
7163
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {</div>
7164
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">return</span> IntervalValue(-ub, 0);</div>
7165
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; }</div>
7166
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; }</div>
7167
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">else</span></div>
7168
+ <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; {</div>
7169
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, ub);</div>
7170
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
7171
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; }</div>
7172
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;}</div>
7101
7173
  </div><!-- fragment -->
7102
7174
  </div>
7103
7175
  </div>
@@ -7137,31 +7209,31 @@ template&lt;class GraphType &gt; </div>
7137
7209
 
7138
7210
  <p>Bitwise AND of IntervalValues. </p>
7139
7211
 
7140
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00841">841</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7141
- <div class="fragment"><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;{</div>
7142
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7143
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7144
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7145
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div>
7146
- <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() &amp; rhs.lb());</div>
7147
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; }</div>
7148
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0 &amp;&amp; rhs.lb().getNumeral() &gt;= 0)</div>
7149
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div>
7150
- <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, min(lhs.ub(), rhs.ub()));</div>
7151
- <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; }</div>
7152
- <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0)</div>
7153
- <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; {</div>
7154
- <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, lhs.ub());</div>
7155
- <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; }</div>
7156
- <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.lb().getNumeral() &gt;= 0)</div>
7157
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; {</div>
7158
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, rhs.ub());</div>
7159
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; }</div>
7160
- <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">else</span></div>
7161
- <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; {</div>
7162
- <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7163
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; }</div>
7164
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;}</div>
7212
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00893">893</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7213
+ <div class="fragment"><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;{</div>
7214
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7215
+ <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7216
+ <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7217
+ <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; {</div>
7218
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() &amp; rhs.lb());</div>
7219
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; }</div>
7220
+ <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0 &amp;&amp; rhs.lb().getNumeral() &gt;= 0)</div>
7221
+ <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; {</div>
7222
+ <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, min(lhs.ub(), rhs.ub()));</div>
7223
+ <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div>
7224
+ <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0)</div>
7225
+ <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div>
7226
+ <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, lhs.ub());</div>
7227
+ <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; }</div>
7228
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.lb().getNumeral() &gt;= 0)</div>
7229
+ <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div>
7230
+ <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, rhs.ub());</div>
7231
+ <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; }</div>
7232
+ <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <span class="keywordflow">else</span></div>
7233
+ <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; {</div>
7234
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7235
+ <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; }</div>
7236
+ <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;}</div>
7165
7237
  </div><!-- fragment -->
7166
7238
  </div>
7167
7239
  </div>
@@ -7370,23 +7442,23 @@ template&lt;unsigned ElementSize&gt; </div>
7370
7442
 
7371
7443
  <p>Multiply IntervalValues. </p>
7372
7444
 
7373
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00495">495</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7374
- <div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;{</div>
7375
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7376
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div>
7377
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7378
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; }</div>
7379
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">else</span></div>
7380
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div>
7381
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; NumericLiteral ll = lhs.lb() * rhs.lb();</div>
7382
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; NumericLiteral lu = lhs.lb() * rhs.ub();</div>
7383
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; NumericLiteral ul = lhs.ub() * rhs.lb();</div>
7384
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; NumericLiteral uu = lhs.ub() * rhs.ub();</div>
7385
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
7386
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> IntervalValue(NumericLiteral::min(vec),</div>
7387
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; NumericLiteral::max(vec));</div>
7388
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div>
7389
- <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;}</div>
7445
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00547">547</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7446
+ <div class="fragment"><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;{</div>
7447
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7448
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; {</div>
7449
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7450
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; }</div>
7451
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">else</span></div>
7452
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div>
7453
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; NumericLiteral ll = lhs.lb() * rhs.lb();</div>
7454
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; NumericLiteral lu = lhs.lb() * rhs.ub();</div>
7455
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; NumericLiteral ul = lhs.ub() * rhs.lb();</div>
7456
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; NumericLiteral uu = lhs.ub() * rhs.ub();</div>
7457
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
7458
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">return</span> IntervalValue(NumericLiteral::min(vec),</div>
7459
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; NumericLiteral::max(vec));</div>
7460
+ <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div>
7461
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div>
7390
7462
  </div><!-- fragment -->
7391
7463
  </div>
7392
7464
  </div>
@@ -7426,21 +7498,21 @@ template&lt;unsigned ElementSize&gt; </div>
7426
7498
 
7427
7499
  <p>Add IntervalValues. </p>
7428
7500
 
7429
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00459">459</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7430
- <div class="fragment"><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;{</div>
7431
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7432
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; {</div>
7433
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7434
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div>
7435
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7436
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; {</div>
7437
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7438
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; }</div>
7439
- <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">else</span></div>
7440
- <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; {</div>
7441
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() + rhs.lb(), lhs.ub() + rhs.ub());</div>
7442
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div>
7443
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;}</div>
7501
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00511">511</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7502
+ <div class="fragment"><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div>
7503
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7504
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div>
7505
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7506
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; }</div>
7507
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7508
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div>
7509
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7510
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div>
7511
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">else</span></div>
7512
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div>
7513
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() + rhs.lb(), lhs.ub() + rhs.ub());</div>
7514
+ <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div>
7515
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;}</div>
7444
7516
  </div><!-- fragment -->
7445
7517
  </div>
7446
7518
  </div>
@@ -7480,21 +7552,21 @@ template&lt;unsigned ElementSize&gt; </div>
7480
7552
 
7481
7553
  <p>Subtract IntervalValues. </p>
7482
7554
 
7483
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00477">477</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7484
- <div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div>
7485
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7486
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div>
7487
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7488
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div>
7489
- <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7490
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; {</div>
7491
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7492
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; }</div>
7493
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">else</span></div>
7494
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; {</div>
7495
- <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() - rhs.ub(), lhs.ub() - rhs.lb());</div>
7496
- <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</div>
7497
- <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;}</div>
7555
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00529">529</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7556
+ <div class="fragment"><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;{</div>
7557
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7558
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; {</div>
7559
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7560
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div>
7561
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7562
+ <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; {</div>
7563
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7564
+ <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; }</div>
7565
+ <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">else</span></div>
7566
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div>
7567
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() - rhs.ub(), lhs.ub() - rhs.lb());</div>
7568
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div>
7569
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div>
7498
7570
  </div><!-- fragment -->
7499
7571
  </div>
7500
7572
  </div>
@@ -7617,29 +7689,29 @@ template&lt;unsigned ElementSize&gt; </div>
7617
7689
 
7618
7690
  <p>Divide IntervalValues. </p>
7619
7691
 
7620
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00515">515</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7621
- <div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;{</div>
7622
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7623
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div>
7624
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7625
- <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div>
7626
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.contains(0))</div>
7627
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; {</div>
7628
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> lhs.is_zero() ? IntervalValue(0, 0) : IntervalValue::top();</div>
7629
- <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div>
7630
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">else</span></div>
7631
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div>
7632
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">// Neither the dividend nor the divisor contains 0</span></div>
7633
- <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; NumericLiteral ll = lhs.lb() / rhs.lb();</div>
7634
- <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; NumericLiteral lu = lhs.lb() / rhs.ub();</div>
7635
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; NumericLiteral ul = lhs.ub() / rhs.lb();</div>
7636
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; NumericLiteral uu = lhs.ub() / rhs.ub();</div>
7637
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
7638
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; </div>
7639
- <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">return</span> IntervalValue(NumericLiteral::min(vec),</div>
7640
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; NumericLiteral::max(vec));</div>
7641
- <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; }</div>
7642
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;}</div>
7692
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00567">567</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7693
+ <div class="fragment"><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;{</div>
7694
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7695
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div>
7696
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7697
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div>
7698
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.contains(0))</div>
7699
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div>
7700
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> lhs.is_zero() ? IntervalValue(0, 0) : IntervalValue::top();</div>
7701
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div>
7702
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordflow">else</span></div>
7703
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; {</div>
7704
+ <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>
7705
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; NumericLiteral ll = lhs.lb() / rhs.lb();</div>
7706
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; NumericLiteral lu = lhs.lb() / rhs.ub();</div>
7707
+ <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; NumericLiteral ul = lhs.ub() / rhs.lb();</div>
7708
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; NumericLiteral uu = lhs.ub() / rhs.ub();</div>
7709
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
7710
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; </div>
7711
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">return</span> IntervalValue(NumericLiteral::min(vec),</div>
7712
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; NumericLiteral::max(vec));</div>
7713
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div>
7714
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;}</div>
7643
7715
  </div><!-- fragment -->
7644
7716
  </div>
7645
7717
  </div>
@@ -7677,55 +7749,55 @@ template&lt;unsigned ElementSize&gt; </div>
7677
7749
  </table>
7678
7750
  </div><div class="memdoc">
7679
7751
 
7680
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00632">632</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7681
- <div class="fragment"><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;{</div>
7682
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
7683
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7684
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div>
7685
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7686
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div>
7687
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
7688
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7689
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; {</div>
7690
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7691
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div>
7692
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">else</span></div>
7693
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; {</div>
7694
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
7695
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7696
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div>
7697
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="comment">// It means lhs.lb() &lt; rhs.lb()? true: false</span></div>
7698
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">return</span> lhs.lb().geq(rhs.lb()) ? IntervalValue(0, 0) : IntervalValue(1, 1);</div>
7699
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; }</div>
7700
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">else</span></div>
7701
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; {</div>
7702
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="comment">// Return [1,1] means lhs is totally less than rhs</span></div>
7703
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="comment">// When lhs.ub &lt; rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
7704
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="comment">// lhs.ub(2) &lt; rhs.lb(3)</span></div>
7705
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="comment">// It means lhs.ub() &lt; rhs.lb()</span></div>
7706
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">if</span> (!lhs.ub().geq(rhs.lb()))</div>
7707
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; {</div>
7708
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
7709
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; }</div>
7710
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be less than rhs</span></div>
7711
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="comment">// i.e., lhs is totally greater than or equal to rhs</span></div>
7712
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="comment">// When lhs.lb &gt;= rhs.ub, e.g., lhs:[4,5] rhs:[3,4]</span></div>
7713
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="comment">// lhs.lb(4) &gt;= rhs.ub(4)</span></div>
7714
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().geq(rhs.ub()))</div>
7715
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div>
7716
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
7717
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div>
7718
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="comment">// For other cases, lhs can be less than rhs or not, depending on the values</span></div>
7719
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
7720
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="comment">// lhs can be less than rhs if lhs is 2, rhs is 3.</span></div>
7721
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="comment">// lhs can also not be less than rhs if lhs is 4 and rhs is 1</span></div>
7722
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">else</span></div>
7723
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div>
7724
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
7725
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div>
7726
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div>
7727
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div>
7728
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;}</div>
7752
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00684">684</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7753
+ <div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;{</div>
7754
+ <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>
7755
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7756
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div>
7757
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7758
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div>
7759
+ <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>
7760
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7761
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; {</div>
7762
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7763
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; }</div>
7764
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">else</span></div>
7765
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; {</div>
7766
+ <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>
7767
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7768
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; {</div>
7769
+ <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>
7770
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span> lhs.lb().geq(rhs.lb()) ? IntervalValue(0, 0) : IntervalValue(1, 1);</div>
7771
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div>
7772
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span></div>
7773
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
7774
+ <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>
7775
+ <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>
7776
+ <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>
7777
+ <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>
7778
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">if</span> (!lhs.ub().geq(rhs.lb()))</div>
7779
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; {</div>
7780
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
7781
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; }</div>
7782
+ <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>
7783
+ <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>
7784
+ <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>
7785
+ <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>
7786
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().geq(rhs.ub()))</div>
7787
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div>
7788
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
7789
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
7790
+ <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>
7791
+ <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>
7792
+ <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>
7793
+ <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>
7794
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">else</span></div>
7795
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; {</div>
7796
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
7797
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div>
7798
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; }</div>
7799
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; }</div>
7800
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;}</div>
7729
7801
  </div><!-- fragment -->
7730
7802
  </div>
7731
7803
  </div>
@@ -7765,25 +7837,25 @@ template&lt;unsigned ElementSize&gt; </div>
7765
7837
 
7766
7838
  <p>Left binary shift of IntervalValues. </p>
7767
7839
 
7768
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00784">784</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7769
- <div class="fragment"><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;{</div>
7770
- <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="comment">//TODO: implement &lt;&lt;</span></div>
7771
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7772
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7773
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">if</span> (lhs.isTop() &amp;&amp; rhs.isTop())</div>
7774
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7775
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">else</span></div>
7776
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
7777
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; IntervalValue shift = rhs;</div>
7778
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; shift.meet_with(IntervalValue(0, IntervalValue::plus_infinity()));</div>
7779
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">if</span> (shift.isBottom())</div>
7780
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7781
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; IntervalValue coeff(1 &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.lb().getNumeral(),</div>
7782
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; shift.ub().is_infinity() ? IntervalValue::plus_infinity() : 1</div>
7783
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.ub().getNumeral());</div>
7784
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">return</span> lhs * coeff;</div>
7785
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; }</div>
7786
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;}</div>
7840
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00836">836</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7841
+ <div class="fragment"><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;{</div>
7842
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="comment">//TODO: implement &lt;&lt;</span></div>
7843
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7844
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7845
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">if</span> (lhs.isTop() &amp;&amp; rhs.isTop())</div>
7846
+ <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7847
+ <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">else</span></div>
7848
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; {</div>
7849
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; IntervalValue shift = rhs;</div>
7850
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; shift.meet_with(IntervalValue(0, IntervalValue::plus_infinity()));</div>
7851
+ <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (shift.isBottom())</div>
7852
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7853
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; IntervalValue coeff(1 &lt;&lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.lb().getNumeral(),</div>
7854
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; shift.ub().is_infinity() ? IntervalValue::plus_infinity() : 1</div>
7855
+ <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.ub().getNumeral());</div>
7856
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keywordflow">return</span> lhs * coeff;</div>
7857
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; }</div>
7858
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;}</div>
7787
7859
  </div><!-- fragment -->
7788
7860
  </div>
7789
7861
  </div>
@@ -7859,11 +7931,11 @@ template&lt;typename F , typename S &gt; </div>
7859
7931
 
7860
7932
  <p>Write an <a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> on a stream. </p>
7861
7933
 
7862
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00926">926</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7863
- <div class="fragment"><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;{</div>
7864
- <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; IntervalValue.dump(o);</div>
7865
- <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">return</span> o;</div>
7866
- <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160;}</div>
7934
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00978">978</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7935
+ <div class="fragment"><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;{</div>
7936
+ <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; IntervalValue.dump(o);</div>
7937
+ <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">return</span> o;</div>
7938
+ <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160;}</div>
7867
7939
  </div><!-- fragment -->
7868
7940
  </div>
7869
7941
  </div>
@@ -7964,54 +8036,54 @@ template&lt;typename F , typename S &gt; </div>
7964
8036
  </table>
7965
8037
  </div><div class="memdoc">
7966
8038
 
7967
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00734">734</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
7968
- <div class="fragment"><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;{</div>
7969
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
7970
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
7971
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; {</div>
7972
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
7973
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div>
7974
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
7975
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
7976
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; {</div>
7977
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
7978
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; }</div>
7979
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">else</span></div>
7980
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; {</div>
7981
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
7982
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
7983
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; {</div>
7984
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">return</span> lhs.lb().leq(rhs.lb()) ? IntervalValue(1, 1) : IntervalValue(0, 0);</div>
7985
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; }</div>
7986
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">else</span></div>
7987
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; {</div>
7988
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="comment">// Return [1,1] means lhs is totally less than or equal to rhs</span></div>
7989
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="comment">// When lhs.ub &lt;= rhs.lb, e.g., lhs:[1, 2] rhs:[2, 3]</span></div>
7990
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="comment">// lhs.ub(2) &lt;= rhs.lb(2)</span></div>
7991
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">if</span> (lhs.ub().leq(rhs.lb()))</div>
7992
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; {</div>
7993
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
7994
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; }</div>
7995
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be less than or equal to rhs</span></div>
7996
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="comment">// i.e., lhs is totally greater than rhs</span></div>
7997
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="comment">// When lhs.lb &gt; rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
7998
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">// lhs.lb(3) &gt; rhs.ub(2)</span></div>
7999
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.ub()</span></div>
8000
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.lb().leq(rhs.ub()))</div>
8001
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; {</div>
8002
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
8003
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; }</div>
8004
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</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>
8005
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
8006
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="comment">// lhs can be less than or equal to rhs if lhs is 3, rhs is 3.</span></div>
8007
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</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>
8008
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">else</span></div>
8009
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; {</div>
8010
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
8011
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
8012
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div>
8013
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div>
8014
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;}</div>
8039
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00786">786</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8040
+ <div class="fragment"><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;{</div>
8041
+ <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>
8042
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8043
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; {</div>
8044
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8045
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; }</div>
8046
+ <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>
8047
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
8048
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; {</div>
8049
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8050
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; }</div>
8051
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">else</span></div>
8052
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; {</div>
8053
+ <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>
8054
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8055
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div>
8056
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">return</span> lhs.lb().leq(rhs.lb()) ? IntervalValue(1, 1) : IntervalValue(0, 0);</div>
8057
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div>
8058
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">else</span></div>
8059
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div>
8060
+ <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>
8061
+ <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>
8062
+ <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>
8063
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">if</span> (lhs.ub().leq(rhs.lb()))</div>
8064
+ <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div>
8065
+ <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
8066
+ <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; }</div>
8067
+ <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>
8068
+ <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>
8069
+ <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>
8070
+ <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>
8071
+ <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>
8072
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.lb().leq(rhs.ub()))</div>
8073
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
8074
+ <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
8075
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div>
8076
+ <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>
8077
+ <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>
8078
+ <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>
8079
+ <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>
8080
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">else</span></div>
8081
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div>
8082
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
8083
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; }</div>
8084
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div>
8085
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; }</div>
8086
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;}</div>
8015
8087
  </div><!-- fragment -->
8016
8088
  </div>
8017
8089
  </div>
@@ -8049,55 +8121,55 @@ template&lt;typename F , typename S &gt; </div>
8049
8121
  </table>
8050
8122
  </div><div class="memdoc">
8051
8123
 
8052
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00581">581</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8053
- <div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;{</div>
8054
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
8055
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8056
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; {</div>
8057
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8058
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; }</div>
8059
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
8060
- <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
8061
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div>
8062
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8063
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div>
8064
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">else</span></div>
8065
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; {</div>
8066
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
8067
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8068
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div>
8069
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.lb()? true: false</span></div>
8070
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">return</span> lhs.lb().leq(rhs.lb()) ? IntervalValue(0, 0) : IntervalValue(1, 1);</div>
8071
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; }</div>
8072
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">else</span></div>
8073
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; {</div>
8074
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="comment">// Return [1,1] means lhs is totally greater than rhs</span></div>
8075
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="comment">// When lhs.lb &gt; rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
8076
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="comment">// lhs.lb(3) &gt; rhs.ub(2)</span></div>
8077
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="comment">// It means lhs.lb() &gt; rhs.ub()</span></div>
8078
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">if</span> (!lhs.lb().leq(rhs.ub()))</div>
8079
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; {</div>
8080
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
8081
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; }</div>
8082
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than rhs</span></div>
8083
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="comment">// i.e., lhs is totally less than or equal to rhs</span></div>
8084
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="comment">// When lhs.ub &lt;= rhs.lb, e.g., lhs:[3, 4] rhs:[4,5]</span></div>
8085
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="comment">// lhs.ub(4) &lt;= rhs.lb(4)</span></div>
8086
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.ub().leq(rhs.lb()))</div>
8087
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; {</div>
8088
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
8089
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; }</div>
8090
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">// For other cases, lhs can be greater than or not, depending on the values</span></div>
8091
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
8092
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="comment">// lhs can be greater than rhs if lhs is 4 and rhs is 1.</span></div>
8093
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="comment">// lhs can also not be greater than rhs if lhs is 2 and rhs is 3</span></div>
8094
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">else</span></div>
8095
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; {</div>
8096
- <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
8097
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; }</div>
8098
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; }</div>
8099
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
8100
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;}</div>
8124
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00633">633</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8125
+ <div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div>
8126
+ <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>
8127
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8128
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; {</div>
8129
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8130
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; }</div>
8131
+ <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>
8132
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
8133
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div>
8134
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8135
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
8136
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">else</span></div>
8137
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
8138
+ <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>
8139
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8140
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div>
8141
+ <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>
8142
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">return</span> lhs.lb().leq(rhs.lb()) ? IntervalValue(0, 0) : IntervalValue(1, 1);</div>
8143
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; }</div>
8144
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">else</span></div>
8145
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; {</div>
8146
+ <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>
8147
+ <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>
8148
+ <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>
8149
+ <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>
8150
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">if</span> (!lhs.lb().leq(rhs.ub()))</div>
8151
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; {</div>
8152
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
8153
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div>
8154
+ <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>
8155
+ <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>
8156
+ <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>
8157
+ <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>
8158
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.ub().leq(rhs.lb()))</div>
8159
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div>
8160
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
8161
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div>
8162
+ <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>
8163
+ <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>
8164
+ <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>
8165
+ <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>
8166
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">else</span></div>
8167
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; {</div>
8168
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
8169
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div>
8170
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div>
8171
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div>
8172
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;}</div>
8101
8173
  </div><!-- fragment -->
8102
8174
  </div>
8103
8175
  </div>
@@ -8135,54 +8207,54 @@ template&lt;typename F , typename S &gt; </div>
8135
8207
  </table>
8136
8208
  </div><div class="memdoc">
8137
8209
 
8138
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00684">684</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8139
- <div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;{</div>
8140
- <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>
8141
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8142
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div>
8143
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8144
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div>
8145
- <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>
8146
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
8147
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; {</div>
8148
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8149
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; }</div>
8150
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">else</span></div>
8151
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; {</div>
8152
- <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>
8153
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8154
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; {</div>
8155
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">return</span> lhs.lb().geq(rhs.lb()) ? IntervalValue(1, 1) : IntervalValue(0, 0);</div>
8156
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; }</div>
8157
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">else</span></div>
8158
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div>
8159
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="comment">// Return [1,1] means lhs is totally greater than or equal to rhs</span></div>
8160
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="comment">// When lhs.lb &gt;= rhs.ub, e.g., lhs:[2, 3] rhs:[1, 2]</span></div>
8161
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="comment">// lhs.lb(2) &gt;= rhs.ub(2)</span></div>
8162
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">if</span> (lhs.lb().geq(rhs.ub()))</div>
8163
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div>
8164
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
8165
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; }</div>
8166
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than or equal to rhs</span></div>
8167
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="comment">// i.e., lhs is totally less than rhs</span></div>
8168
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">// When lhs.ub &lt; rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
8169
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">// lhs.ub(2) &lt; rhs.lb(3)</span></div>
8170
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="comment">// It means lhs.ub() &lt; rhs.lb()</span></div>
8171
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.ub().geq(rhs.lb()))</div>
8172
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; {</div>
8173
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
8174
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div>
8175
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</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>
8176
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
8177
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="comment">// lhs can be greater than or equal to rhs if lhs is 3, rhs is 2.</span></div>
8178
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</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>
8179
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">else</span></div>
8180
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div>
8181
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
8182
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div>
8183
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div>
8184
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; }</div>
8185
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;}</div>
8210
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00736">736</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8211
+ <div class="fragment"><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;{</div>
8212
+ <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>
8213
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8214
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; {</div>
8215
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8216
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div>
8217
+ <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>
8218
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() || rhs.isTop())</div>
8219
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; {</div>
8220
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8221
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; }</div>
8222
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">else</span></div>
8223
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; {</div>
8224
+ <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>
8225
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8226
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; {</div>
8227
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">return</span> lhs.lb().geq(rhs.lb()) ? IntervalValue(1, 1) : IntervalValue(0, 0);</div>
8228
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
8229
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">else</span></div>
8230
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; {</div>
8231
+ <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>
8232
+ <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>
8233
+ <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>
8234
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">if</span> (lhs.lb().geq(rhs.ub()))</div>
8235
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; {</div>
8236
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">return</span> IntervalValue(1, 1);</div>
8237
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; }</div>
8238
+ <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>
8239
+ <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>
8240
+ <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>
8241
+ <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>
8242
+ <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>
8243
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.ub().geq(rhs.lb()))</div>
8244
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; {</div>
8245
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 0);</div>
8246
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; }</div>
8247
+ <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>
8248
+ <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>
8249
+ <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>
8250
+ <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>
8251
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">else</span></div>
8252
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; {</div>
8253
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">return</span> IntervalValue(0, 1);</div>
8254
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div>
8255
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; }</div>
8256
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; }</div>
8257
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;}</div>
8186
8258
  </div><!-- fragment -->
8187
8259
  </div>
8188
8260
  </div>
@@ -8222,40 +8294,40 @@ template&lt;typename F , typename S &gt; </div>
8222
8294
 
8223
8295
  <p>Left binary shift of IntervalValues. </p>
8224
8296
 
8225
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00805">805</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8226
- <div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div>
8227
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="comment">//TODO: implement &gt;&gt;</span></div>
8228
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8229
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8230
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() &amp;&amp; rhs.isTop())</div>
8231
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8232
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">else</span></div>
8233
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div>
8234
- <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; IntervalValue shift = rhs;</div>
8235
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; shift.meet_with(IntervalValue(0, IntervalValue::plus_infinity()));</div>
8236
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">if</span> (shift.isBottom())</div>
8237
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8238
- <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">if</span> (lhs.contains(0))</div>
8239
- <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; {</div>
8240
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; IntervalValue l(lhs.lb(), -1);</div>
8241
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; IntervalValue u(1, lhs.ub());</div>
8242
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; IntervalValue tmp = l &gt;&gt; rhs;</div>
8243
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; tmp.join_with(u &gt;&gt; rhs);</div>
8244
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; tmp.join_with(IntervalValue(0));</div>
8245
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">return</span> tmp;</div>
8246
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
8247
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">else</span></div>
8248
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div>
8249
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; NumericLiteral ll = lhs.lb() &gt;&gt; shift.lb();</div>
8250
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; NumericLiteral lu = lhs.lb() &gt;&gt; shift.ub();</div>
8251
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; NumericLiteral ul = lhs.ub() &gt;&gt; shift.lb();</div>
8252
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; NumericLiteral uu = lhs.ub() &gt;&gt; shift.ub();</div>
8253
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
8254
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">return</span> IntervalValue(NumericLiteral::min(vec),</div>
8255
- <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; NumericLiteral::max(vec));</div>
8256
- <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; }</div>
8257
- <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; }</div>
8258
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;}</div>
8297
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00857">857</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8298
+ <div class="fragment"><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;{</div>
8299
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="comment">//TODO: implement &gt;&gt;</span></div>
8300
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8301
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8302
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.isTop() &amp;&amp; rhs.isTop())</div>
8303
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8304
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">else</span></div>
8305
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; {</div>
8306
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; IntervalValue shift = rhs;</div>
8307
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; shift.meet_with(IntervalValue(0, IntervalValue::plus_infinity()));</div>
8308
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">if</span> (shift.isBottom())</div>
8309
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8310
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordflow">if</span> (lhs.contains(0))</div>
8311
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; {</div>
8312
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; IntervalValue l(lhs.lb(), -1);</div>
8313
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; IntervalValue u(1, lhs.ub());</div>
8314
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; IntervalValue tmp = l &gt;&gt; rhs;</div>
8315
+ <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; tmp.join_with(u &gt;&gt; rhs);</div>
8316
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; tmp.join_with(IntervalValue(0));</div>
8317
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">return</span> tmp;</div>
8318
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; }</div>
8319
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">else</span></div>
8320
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; {</div>
8321
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; NumericLiteral ll = lhs.lb() &gt;&gt; shift.lb();</div>
8322
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; NumericLiteral lu = lhs.lb() &gt;&gt; shift.ub();</div>
8323
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; NumericLiteral ul = lhs.ub() &gt;&gt; shift.lb();</div>
8324
+ <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; NumericLiteral uu = lhs.ub() &gt;&gt; shift.ub();</div>
8325
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; std::vector&lt;NumericLiteral&gt; vec{ll, lu, ul, uu};</div>
8326
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">return</span> IntervalValue(NumericLiteral::min(vec),</div>
8327
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; NumericLiteral::max(vec));</div>
8328
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; }</div>
8329
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; }</div>
8330
+ <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;}</div>
8259
8331
  </div><!-- fragment -->
8260
8332
  </div>
8261
8333
  </div>
@@ -8295,33 +8367,33 @@ template&lt;typename F , typename S &gt; </div>
8295
8367
 
8296
8368
  <p>Bitwise XOR of IntervalValues. </p>
8297
8369
 
8298
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00897">897</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8299
- <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div>
8300
- <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
8301
- <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; {</div>
8302
- <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
8303
- <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
8304
- <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; {</div>
8305
- <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; ++i;</div>
8306
- <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; }</div>
8307
- <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
8308
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; };</div>
8309
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8310
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8311
- <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8312
- <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() ^ rhs.lb());</div>
8313
- <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0 &amp;&amp; !lhs.ub().is_infinity() &amp;&amp;</div>
8314
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; rhs.lb().getNumeral() &gt;= 0 &amp;&amp; !rhs.ub().is_infinity())</div>
8315
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; {</div>
8316
- <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.ub().getNumeral(), rhs.ub().getNumeral());</div>
8317
- <div class="line"><a name="l00916"></a><span class="lineno"> 916</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>
8318
- <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
8319
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; }</div>
8320
- <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">else</span></div>
8321
- <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div>
8322
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8323
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div>
8324
- <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;}</div>
8370
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00949">949</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8371
+ <div class="fragment"><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;{</div>
8372
+ <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>
8373
+ <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; {</div>
8374
+ <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
8375
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
8376
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
8377
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; ++i;</div>
8378
+ <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; }</div>
8379
+ <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
8380
+ <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; };</div>
8381
+ <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8382
+ <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8383
+ <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8384
+ <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() ^ rhs.lb());</div>
8385
+ <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0 &amp;&amp; !lhs.ub().is_infinity() &amp;&amp;</div>
8386
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; rhs.lb().getNumeral() &gt;= 0 &amp;&amp; !rhs.ub().is_infinity())</div>
8387
+ <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; {</div>
8388
+ <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.ub().getNumeral(), rhs.ub().getNumeral());</div>
8389
+ <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>
8390
+ <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
8391
+ <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; }</div>
8392
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">else</span></div>
8393
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div>
8394
+ <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8395
+ <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div>
8396
+ <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;}</div>
8325
8397
  </div><!-- fragment -->
8326
8398
  </div>
8327
8399
  </div>
@@ -8361,33 +8433,33 @@ template&lt;typename F , typename S &gt; </div>
8361
8433
 
8362
8434
  <p>Bitwise OR of IntervalValues. </p>
8363
8435
 
8364
- <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00868">868</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8365
- <div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;{</div>
8366
- <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
8367
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; {</div>
8368
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
8369
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
8370
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; {</div>
8371
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; ++i;</div>
8372
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; }</div>
8373
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
8374
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; };</div>
8375
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8376
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8377
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8378
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() | rhs.lb());</div>
8379
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0 &amp;&amp; !lhs.ub().is_infinity() &amp;&amp;</div>
8380
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; rhs.lb().getNumeral() &gt;= 0 &amp;&amp; !rhs.ub().is_infinity())</div>
8381
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; {</div>
8382
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.ub().getNumeral(), rhs.ub().getNumeral());</div>
8383
- <div class="line"><a name="l00887"></a><span class="lineno"> 887</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>
8384
- <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
8385
- <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; }</div>
8386
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keywordflow">else</span></div>
8387
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; {</div>
8388
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8389
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; }</div>
8390
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;}</div>
8436
+ <p class="definition">Definition at line <a class="el" href="IntervalValue_8h_source.html#l00920">920</a> of file <a class="el" href="IntervalValue_8h_source.html">IntervalValue.h</a>.</p>
8437
+ <div class="fragment"><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;{</div>
8438
+ <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>
8439
+ <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; {</div>
8440
+ <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordtype">int</span> i = 1;</div>
8441
+ <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordflow">while</span> ((num &gt;&gt; i) != 0)</div>
8442
+ <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; {</div>
8443
+ <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; ++i;</div>
8444
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
8445
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">return</span> 1 &lt;&lt; i;</div>
8446
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; };</div>
8447
+ <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">if</span> (lhs.isBottom() || rhs.isBottom())</div>
8448
+ <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordflow">return</span> IntervalValue::bottom();</div>
8449
+ <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.is_numeral() &amp;&amp; rhs.is_numeral())</div>
8450
+ <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">return</span> IntervalValue(lhs.lb() | rhs.lb());</div>
8451
+ <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.lb().getNumeral() &gt;= 0 &amp;&amp; !lhs.ub().is_infinity() &amp;&amp;</div>
8452
+ <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; rhs.lb().getNumeral() &gt;= 0 &amp;&amp; !rhs.ub().is_infinity())</div>
8453
+ <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; {</div>
8454
+ <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.ub().getNumeral(), rhs.ub().getNumeral());</div>
8455
+ <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>
8456
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">return</span> IntervalValue((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
8457
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div>
8458
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">else</span></div>
8459
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div>
8460
+ <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">return</span> IntervalValue::top();</div>
8461
+ <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div>
8462
+ <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;}</div>
8391
8463
  </div><!-- fragment -->
8392
8464
  </div>
8393
8465
  </div>
@@ -8819,7 +8891,7 @@ template&lt;typename GraphType &gt; </div>
8819
8891
  <div class="ttc" id="anamespaceSVF_html_a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1"><div class="ttname"><a href="namespaceSVF.html#a41375daa7cc99317d0aa2a21dc643b88a53d18d0ea8b11173db3d2f60f838ffe1">SVF::AEKind::AbstractExecution</a></div><div class="ttdeci">@ AbstractExecution</div></div>
8820
8892
  <div class="ttc" id="acJSON_8h_html_a6288dae99eabb0a393b1d4974e01cde7"><div class="ttname"><a href="cJSON_8h.html#a6288dae99eabb0a393b1d4974e01cde7">number</a></div><div class="ttdeci">const char *const const double number</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00268">cJSON.h:268</a></div></div>
8821
8893
  <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
8822
- <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#l00784">IntervalValue.h:784</a></div></div>
8894
+ <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>
8823
8895
  <div class="ttc" id="anamespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdeci">@ NoAlias</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00528">SVFType.h:528</a></div></div>
8824
8896
  <div class="ttc" id="acJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
8825
8897
  <div class="ttc" id="anamespaceSVF_html_a3e2b6638b0fbca37846e953142bcc844a7f99364c041329bd5758261c8c440b30"><div class="ttname"><a href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844a7f99364c041329bd5758261c8c440b30">SVF::ModRef</a></div><div class="ttdeci">@ ModRef</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00520">SVFType.h:520</a></div></div>
@@ -8830,31 +8902,31 @@ template&lt;typename GraphType &gt; </div>
8830
8902
  <div class="ttc" id="anamespaceSVF_html_a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">SVF::MayAlias</a></div><div class="ttdeci">@ MayAlias</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00529">SVFType.h:529</a></div></div>
8831
8903
  <div class="ttc" id="aclassSVF_1_1MemRegion_html_adad8c2b08ab6a512f0c3aa90b4416f60"><div class="ttname"><a href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">SVF::MemRegion::dumpStr</a></div><div class="ttdeci">std::string dumpStr() const</div><div class="ttdoc">Dump string.</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00093">MemRegion.h:93</a></div></div>
8832
8904
  <div class="ttc" id="anamespaceSVF_html_a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e"><div class="ttname"><a href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">SVF::BuildDirection::plain</a></div><div class="ttdeci">@ plain</div></div>
8833
- <div class="ttc" id="anamespaceSVF_html_a33124cbc57355f15793da18e69f6b9d7"><div class="ttname"><a href="namespaceSVF.html#a33124cbc57355f15793da18e69f6b9d7">SVF::jsonIsNumber</a></div><div class="ttdeci">bool jsonIsNumber(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00836">SVFFileSystem.cpp:836</a></div></div>
8905
+ <div class="ttc" id="anamespaceSVF_html_a33124cbc57355f15793da18e69f6b9d7"><div class="ttname"><a href="namespaceSVF.html#a33124cbc57355f15793da18e69f6b9d7">SVF::jsonIsNumber</a></div><div class="ttdeci">bool jsonIsNumber(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00838">SVFFileSystem.cpp:838</a></div></div>
8834
8906
  <div class="ttc" id="anamespaceSVF_html_ae27267f89add1338fd5afe3a38f61ebd"><div class="ttname"><a href="namespaceSVF.html#ae27267f89add1338fd5afe3a38f61ebd">SVF::WriteGraph</a></div><div class="ttdeci">std::ofstream &amp; WriteGraph(std::ofstream &amp;O, const GraphType &amp;G, bool ShortNames=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00328">GraphWriter.h:328</a></div></div>
8835
8907
  <div class="ttc" id="aSVFFileSystem_8h_html_abe7df84818bd194fefc80d766e0998da"><div class="ttname"><a href="SVFFileSystem_8h.html#abe7df84818bd194fefc80d766e0998da">JSON_KEY</a></div><div class="ttdeci">#define JSON_KEY(json)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8h_source.html#l00064">SVFFileSystem.h:64</a></div></div>
8836
8908
  <div class="ttc" id="astructcJSON_html_ade862b880379b5e2a591f7326401fa8d"><div class="ttname"><a href="structcJSON.html#ade862b880379b5e2a591f7326401fa8d">cJSON::next</a></div><div class="ttdeci">struct cJSON * next</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00106">cJSON.h:106</a></div></div>
8837
8909
  <div class="ttc" id="aSVFFileSystem_8cpp_html_aee01a3d251dee6a05d621f5265d92e84"><div class="ttname"><a href="SVFFileSystem_8cpp.html#aee01a3d251dee6a05d621f5265d92e84">humanReadableOption</a></div><div class="ttdeci">static const Option&lt; bool &gt; humanReadableOption(&quot;human-readable&quot;, &quot;Whether to output human-readable JSON&quot;, true)</div></div>
8838
- <div class="ttc" id="anamespaceSVF_html_a0ffc17ff9b5cc328ff112e7f9ff21552"><div class="ttname"><a href="namespaceSVF.html#a0ffc17ff9b5cc328ff112e7f9ff21552">SVF::jsonGetNumber</a></div><div class="ttdeci">double jsonGetNumber(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00883">SVFFileSystem.cpp:883</a></div></div>
8910
+ <div class="ttc" id="anamespaceSVF_html_a0ffc17ff9b5cc328ff112e7f9ff21552"><div class="ttname"><a href="namespaceSVF.html#a0ffc17ff9b5cc328ff112e7f9ff21552">SVF::jsonGetNumber</a></div><div class="ttdeci">double jsonGetNumber(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00885">SVFFileSystem.cpp:885</a></div></div>
8839
8911
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
8840
8912
  <div class="ttc" id="astructcJSON_html_a401b274c2da358dac5c23ab8b2c71f85"><div class="ttname"><a href="structcJSON.html#a401b274c2da358dac5c23ab8b2c71f85">cJSON::child</a></div><div class="ttdeci">struct cJSON * child</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00109">cJSON.h:109</a></div></div>
8841
8913
  <div class="ttc" id="anamespaceSVF_html_af5b6ec9770091c42227a45491b00b349a5cbe6f40e9b49a24bc2d2e4bf6f12d54"><div class="ttname"><a href="namespaceSVF.html#af5b6ec9770091c42227a45491b00b349a5cbe6f40e9b49a24bc2d2e4bf6f12d54">SVF::ZB_Undefined</a></div><div class="ttdeci">@ ZB_Undefined</div><div class="ttdoc">The returned value is undefined.</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00035">SparseBitVector.h:35</a></div></div>
8842
- <div class="ttc" id="anamespaceSVF_html_ac2917bc796cc783e838d9fcca83b9631"><div class="ttname"><a href="namespaceSVF.html#ac2917bc796cc783e838d9fcca83b9631">SVF::jsonAddStringToObject</a></div><div class="ttdeci">bool jsonAddStringToObject(cJSON *obj, const char *name, const char *str)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00799">SVFFileSystem.cpp:799</a></div></div>
8914
+ <div class="ttc" id="anamespaceSVF_html_ac2917bc796cc783e838d9fcca83b9631"><div class="ttname"><a href="namespaceSVF.html#ac2917bc796cc783e838d9fcca83b9631">SVF::jsonAddStringToObject</a></div><div class="ttdeci">bool jsonAddStringToObject(cJSON *obj, const char *name, const char *str)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00801">SVFFileSystem.cpp:801</a></div></div>
8843
8915
  <div class="ttc" id="astructcJSON_html"><div class="ttname"><a href="structcJSON.html">cJSON</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00103">cJSON.h:103</a></div></div>
8844
8916
  <div class="ttc" id="anamespaceSVF_html_af5b6ec9770091c42227a45491b00b349afdacc59903d2677ef91777d78c7b80a7"><div class="ttname"><a href="namespaceSVF.html#af5b6ec9770091c42227a45491b00b349afdacc59903d2677ef91777d78c7b80a7">SVF::ZB_Width</a></div><div class="ttdeci">@ ZB_Width</div><div class="ttdoc">The returned value is numeric_limits&lt;T&gt;::digits.</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00039">SparseBitVector.h:39</a></div></div>
8845
8917
  <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>
8846
8918
  <div class="ttc" id="aclassSVF_1_1MSSADEF_html_a4cabef62b821efb0c88efb304fd0a70c"><div class="ttname"><a href="classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c">SVF::MSSADEF::getType</a></div><div class="ttdeci">DEFTYPE getType() const</div><div class="ttdoc">Return type of this CHI.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00360">MSSAMuChi.h:360</a></div></div>
8847
8919
  <div class="ttc" id="anamespaceSVF_html_a61c01e2e687ab3a001fb806737583943aa03eb20fd81629154d6c346763ea64d6"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aa03eb20fd81629154d6c346763ea64d6">SVF::PartialAlias</a></div><div class="ttdeci">@ PartialAlias</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00531">SVFType.h:531</a></div></div>
8848
8920
  <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>
8849
- <div class="ttc" id="anamespaceSVF_html_a708e67ca4653f2e7b07a08cae850c33d"><div class="ttname"><a href="namespaceSVF.html#a708e67ca4653f2e7b07a08cae850c33d">SVF::jsonIsArray</a></div><div class="ttdeci">bool jsonIsArray(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00852">SVFFileSystem.cpp:852</a></div></div>
8921
+ <div class="ttc" id="anamespaceSVF_html_a708e67ca4653f2e7b07a08cae850c33d"><div class="ttname"><a href="namespaceSVF.html#a708e67ca4653f2e7b07a08cae850c33d">SVF::jsonIsArray</a></div><div class="ttdeci">bool jsonIsArray(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00854">SVFFileSystem.cpp:854</a></div></div>
8850
8922
  <div class="ttc" id="aObjTypeInference_8cpp_html_a7165377d2fbd76a86ed0ec5218712c78"><div class="ttname"><a href="ObjTypeInference_8cpp.html#a7165377d2fbd76a86ed0ec5218712c78">ABORT_IFNOT</a></div><div class="ttdeci">#define ABORT_IFNOT(condition, msg)</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00050">ObjTypeInference.cpp:50</a></div></div>
8851
- <div class="ttc" id="anamespaceSVF_html_a9ee7e6892696b97837ca8845663c55e4"><div class="ttname"><a href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">SVF::jsonAddItemToArray</a></div><div class="ttdeci">bool jsonAddItemToArray(cJSON *array, cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00950">SVFFileSystem.cpp:950</a></div></div>
8852
- <div class="ttc" id="anamespaceSVF_html_ad0cc661dce7398ffe4f6a4785dd002d3"><div class="ttname"><a href="namespaceSVF.html#ad0cc661dce7398ffe4f6a4785dd002d3">SVF::jsonAddItemToObject</a></div><div class="ttdeci">bool jsonAddItemToObject(cJSON *obj, const char *name, cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00944">SVFFileSystem.cpp:944</a></div></div>
8923
+ <div class="ttc" id="anamespaceSVF_html_a9ee7e6892696b97837ca8845663c55e4"><div class="ttname"><a href="namespaceSVF.html#a9ee7e6892696b97837ca8845663c55e4">SVF::jsonAddItemToArray</a></div><div class="ttdeci">bool jsonAddItemToArray(cJSON *array, cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00952">SVFFileSystem.cpp:952</a></div></div>
8924
+ <div class="ttc" id="anamespaceSVF_html_ad0cc661dce7398ffe4f6a4785dd002d3"><div class="ttname"><a href="namespaceSVF.html#ad0cc661dce7398ffe4f6a4785dd002d3">SVF::jsonAddItemToObject</a></div><div class="ttdeci">bool jsonAddItemToObject(cJSON *obj, const char *name, cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00946">SVFFileSystem.cpp:946</a></div></div>
8853
8925
  <div class="ttc" id="aclassSVF_1_1MRVer_html_a492211105abe8af8ed9ad7b30eabb852"><div class="ttname"><a href="classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852">SVF::MRVer::getDef</a></div><div class="ttdeci">MSSADef * getDef() const</div><div class="ttdoc">Get MSSADef.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00075">MSSAMuChi.h:75</a></div></div>
8854
8926
  <div class="ttc" id="anamespaceSVF_html_a3b6bc8132d0fd4902888ab9f77c20124"><div class="ttname"><a href="namespaceSVF.html#a3b6bc8132d0fd4902888ab9f77c20124">SVF::make_range</a></div><div class="ttdeci">iter_range&lt; T &gt; make_range(T x, T y)</div><div class="ttdef"><b>Definition:</b> <a href="iterator__range_8h_source.html#l00064">iterator_range.h:64</a></div></div>
8855
8927
  <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
8856
8928
  <div class="ttc" id="anamespaceSVF_html_af5b6ec9770091c42227a45491b00b349aac378e728f7d53b2d96be1d33c63afb1"><div class="ttname"><a href="namespaceSVF.html#af5b6ec9770091c42227a45491b00b349aac378e728f7d53b2d96be1d33c63afb1">SVF::ZB_Max</a></div><div class="ttdeci">@ ZB_Max</div><div class="ttdoc">The returned value is numeric_limits&lt;T&gt;::max()</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00037">SparseBitVector.h:37</a></div></div>
8857
- <div class="ttc" id="anamespaceSVF_html_aea1a0f85b05e5149f57ed788ba631e49"><div class="ttname"><a href="namespaceSVF.html#aea1a0f85b05e5149f57ed788ba631e49">SVF::jsonIsString</a></div><div class="ttdeci">bool jsonIsString(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00841">SVFFileSystem.cpp:841</a></div></div>
8929
+ <div class="ttc" id="anamespaceSVF_html_aea1a0f85b05e5149f57ed788ba631e49"><div class="ttname"><a href="namespaceSVF.html#aea1a0f85b05e5149f57ed788ba631e49">SVF::jsonIsString</a></div><div class="ttdeci">bool jsonIsString(const cJSON *item)</div><div class="ttdef"><b>Definition:</b> <a href="SVFFileSystem_8cpp_source.html#l00843">SVFFileSystem.cpp:843</a></div></div>
8858
8930
  <div class="ttc" id="aclassSVF_1_1MRVer_html_a170a933f25684bda23321ba05c7a7d88"><div class="ttname"><a href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">SVF::MRVer::getSSAVersion</a></div><div class="ttdeci">MRVERSION getSSAVersion() const</div><div class="ttdoc">Return SSA version.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00069">MSSAMuChi.h:69</a></div></div>
8859
8931
  <div class="ttc" id="aSVFFileSystem_8cpp_html_ab25baccb41e3b67ef0bfdaa1336c9649"><div class="ttname"><a href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a></div><div class="ttdeci">#define F(f)</div></div>
8860
8932
  <div class="ttc" id="aObjTypeInference_8cpp_html_a54176d0866e198769367b0dc65e049b5"><div class="ttname"><a href="ObjTypeInference_8cpp.html#a54176d0866e198769367b0dc65e049b5">ABORT_MSG</a></div><div class="ttdeci">#define ABORT_MSG(msg)</div><div class="ttdef"><b>Definition:</b> <a href="ObjTypeInference_8cpp_source.html#l00044">ObjTypeInference.cpp:44</a></div></div>