svf-tools 1.0.458 → 1.0.461

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 (410) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
  9. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +14 -14
  10. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  12. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  13. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +16 -16
  15. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
  17. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  20. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +19 -19
  23. package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
  24. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
  27. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  29. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  30. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
  31. package/SVF-doxygen/html/html/ExeState_8cpp.html +1 -0
  32. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +26 -25
  33. package/SVF-doxygen/html/html/ExeState_8h_source.html +13 -13
  34. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  35. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -4
  39. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  41. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  42. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  43. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  44. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  47. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
  49. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +6 -6
  52. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +7 -7
  53. package/SVF-doxygen/html/html/IRGraph_8h_source.html +21 -21
  54. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
  56. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +13 -13
  57. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
  58. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  59. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  60. package/SVF-doxygen/html/html/LocationSet_8cpp.html +1 -0
  61. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +15 -14
  62. package/SVF-doxygen/html/html/LocationSet_8h_source.html +10 -10
  63. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +10 -10
  66. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  68. package/SVF-doxygen/html/html/MHP_8cpp_source.html +46 -46
  69. package/SVF-doxygen/html/html/MHP_8h.html +1 -0
  70. package/SVF-doxygen/html/html/MHP_8h_source.html +102 -101
  71. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  73. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
  74. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +14 -14
  75. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +10 -10
  76. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +9 -9
  77. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  79. package/SVF-doxygen/html/html/MTA_8h_source.html +4 -5
  80. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  81. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +12 -12
  83. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  85. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  86. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  87. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  88. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  89. package/SVF-doxygen/html/html/PCG_8cpp_source.html +4 -4
  90. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  91. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +21 -21
  94. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  95. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  99. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +23 -23
  100. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
  101. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +68 -50
  102. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +51 -50
  103. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
  104. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  105. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
  107. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
  109. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  110. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
  111. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  112. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +52 -52
  113. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +37 -37
  114. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +19 -19
  115. package/SVF-doxygen/html/html/SVFIR_8h_source.html +19 -19
  116. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  117. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  118. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  119. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  120. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
  121. package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
  122. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
  123. package/SVF-doxygen/html/html/SVFVariables_8cpp.html +1 -0
  124. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +35 -32
  125. package/SVF-doxygen/html/html/SVFVariables_8h.html +0 -1
  126. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +141 -143
  127. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
  128. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  129. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  130. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  131. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  132. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +54 -54
  133. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  134. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +1 -0
  135. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +99 -95
  136. package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -1
  137. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +144 -146
  138. package/SVF-doxygen/html/html/TCT_8cpp.html +1 -0
  139. package/SVF-doxygen/html/html/TCT_8cpp_source.html +41 -40
  140. package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
  141. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  142. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  143. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +6 -6
  144. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  145. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  146. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +22 -22
  147. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +4 -4
  148. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -4
  149. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -69
  150. package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
  151. package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
  152. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  153. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  155. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  156. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
  157. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +4 -4
  161. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +11 -11
  162. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
  165. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -5
  166. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +4 -4
  168. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -7
  169. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  170. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  171. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +6 -6
  173. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +20 -20
  174. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  175. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  176. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
  178. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
  179. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  180. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +15 -15
  182. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +16 -16
  184. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +16 -16
  186. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +11 -11
  188. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +53 -53
  189. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  192. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
  194. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +20 -20
  197. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -18
  199. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +40 -40
  200. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +22 -22
  202. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  204. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  205. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +9 -9
  206. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +10 -10
  207. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +183 -183
  208. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +45 -45
  214. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +29 -29
  217. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +10 -10
  219. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +10 -10
  220. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +21 -21
  221. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
  222. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
  223. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
  227. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
  228. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  229. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  230. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  231. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +7 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +29 -29
  233. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +20 -20
  234. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -11
  235. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +177 -177
  236. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +16 -16
  237. package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +13 -13
  239. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
  240. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +25 -26
  241. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  242. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
  243. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  244. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  245. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
  248. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  249. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +99 -99
  251. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +35 -35
  253. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +9 -9
  255. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  257. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  259. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +24 -24
  260. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +9 -9
  261. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -38
  264. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  265. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
  266. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
  267. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +19 -19
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
  278. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +62 -62
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +74 -74
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
  283. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +99 -107
  285. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  286. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  287. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +7 -7
  288. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
  290. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +84 -84
  291. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +231 -247
  293. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +88 -88
  294. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  295. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
  296. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
  298. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
  299. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +36 -36
  301. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +13 -13
  303. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  304. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +24 -24
  306. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +19 -19
  308. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  309. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
  310. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
  312. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
  313. package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
  314. package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
  315. package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
  316. package/SVF-doxygen/html/html/functions_a.html +5 -8
  317. package/SVF-doxygen/html/html/functions_c.html +9 -5
  318. package/SVF-doxygen/html/html/functions_f.html +6 -4
  319. package/SVF-doxygen/html/html/functions_func.html +10 -13
  320. package/SVF-doxygen/html/html/functions_func_g.html +11 -12
  321. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  322. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  323. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  324. package/SVF-doxygen/html/html/functions_g.html +11 -12
  325. package/SVF-doxygen/html/html/functions_h.html +1 -1
  326. package/SVF-doxygen/html/html/functions_i.html +1 -1
  327. package/SVF-doxygen/html/html/functions_l.html +3 -3
  328. package/SVF-doxygen/html/html/functions_m.html +1 -4
  329. package/SVF-doxygen/html/html/functions_n.html +3 -3
  330. package/SVF-doxygen/html/html/functions_o.html +14 -14
  331. package/SVF-doxygen/html/html/functions_p.html +11 -11
  332. package/SVF-doxygen/html/html/functions_r.html +7 -5
  333. package/SVF-doxygen/html/html/functions_s.html +7 -7
  334. package/SVF-doxygen/html/html/functions_t.html +6 -4
  335. package/SVF-doxygen/html/html/functions_v.html +3 -3
  336. package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
  337. package/SVF-doxygen/html/html/globals_c.html +103 -100
  338. package/SVF-doxygen/html/html/globals_s.html +6 -10
  339. package/SVF-doxygen/html/html/globals_type.html +3 -0
  340. package/SVF-doxygen/html/html/namespaceSVF.html +31 -67
  341. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +105 -63
  342. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +27 -27
  343. package/SVF-doxygen/html/html/namespacemembers_c.html +0 -3
  344. package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
  345. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  346. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
  347. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -6
  348. package/SVF-doxygen/html/html/search/all_1.js +0 -1
  349. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  350. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  351. package/SVF-doxygen/html/html/search/all_13.js +10 -11
  352. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  353. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  354. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  355. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  356. package/SVF-doxygen/html/html/search/all_7.js +4 -4
  357. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  358. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  359. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  360. package/SVF-doxygen/html/html/search/all_d.js +0 -1
  361. package/SVF-doxygen/html/html/search/all_e.js +6 -6
  362. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  363. package/SVF-doxygen/html/html/search/functions_0.js +0 -1
  364. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  365. package/SVF-doxygen/html/html/search/functions_6.js +4 -4
  366. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  367. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  368. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  369. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  370. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  371. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  372. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  373. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  374. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +3 -3
  375. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  376. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +3 -3
  377. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  378. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  379. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
  380. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  381. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  382. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
  383. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  384. package/include/DDA/DDAPass.h +1 -1
  385. package/include/Graphs/SVFGEdge.h +0 -12
  386. package/include/MTA/LockResultValidator.h +1 -1
  387. package/include/MTA/MHP.h +1 -0
  388. package/include/MTA/MTA.h +1 -1
  389. package/include/MTA/MTAAnnotator.h +1 -1
  390. package/include/MTA/MTAResultValidator.h +1 -1
  391. package/include/MemoryModel/SVFVariables.h +1 -8
  392. package/include/MemoryModel/SymbolTableInfo.h +2 -22
  393. package/include/SVF-FE/BasicTypes.h +1 -0
  394. package/include/SVF-FE/BreakConstantExpr.h +2 -2
  395. package/include/Util/BasicTypes.h +1 -3
  396. package/include/Util/SVFBasicTypes.h +1 -1
  397. package/include/Util/SVFUtil.h +16 -1
  398. package/include/WPA/WPAPass.h +1 -1
  399. package/lib/MTA/LockResultValidator.cpp +2 -2
  400. package/lib/MTA/MTAResultValidator.cpp +2 -2
  401. package/lib/MTA/TCT.cpp +1 -0
  402. package/lib/MemoryModel/LocationSet.cpp +1 -0
  403. package/lib/MemoryModel/SVFVariables.cpp +10 -1
  404. package/lib/MemoryModel/SymbolTableInfo.cpp +26 -0
  405. package/lib/SVF-FE/DCHG.cpp +8 -8
  406. package/lib/Util/ExeState.cpp +1 -0
  407. package/lib/Util/PTAStat.cpp +11 -3
  408. package/lib/Util/SVFUtil.cpp +3 -3
  409. package/lib/Util/ThreadAPI.cpp +12 -4
  410. package/package.json +1 -1
@@ -117,9 +117,9 @@ Public Member Functions</h2></td></tr>
117
117
  <tr class="memitem:a1f47c1cb5a64bab9a6b8ac38103416ac"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPAPass.html#a1f47c1cb5a64bab9a6b8ac38103416ac">runOnModule</a> (<a class="el" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a> &amp;module)</td></tr>
118
118
  <tr class="memdesc:a1f47c1cb5a64bab9a6b8ac38103416ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run pointer analysis on LLVM module. <a href="#a1f47c1cb5a64bab9a6b8ac38103416ac">More...</a><br /></td></tr>
119
119
  <tr class="separator:a1f47c1cb5a64bab9a6b8ac38103416ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
- <tr class="memitem:a12fda9849e3d9e4eb71e0bff8d0696f8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9">StringRef</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPAPass.html#a12fda9849e3d9e4eb71e0bff8d0696f8">getPassName</a> () const</td></tr>
121
- <tr class="memdesc:a12fda9849e3d9e4eb71e0bff8d0696f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">PTA name. <a href="#a12fda9849e3d9e4eb71e0bff8d0696f8">More...</a><br /></td></tr>
122
- <tr class="separator:a12fda9849e3d9e4eb71e0bff8d0696f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
+ <tr class="memitem:a8f6bbf39ea2848ff3b6d105aeb5a31b1"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPAPass.html#a8f6bbf39ea2848ff3b6d105aeb5a31b1">getPassName</a> () const</td></tr>
121
+ <tr class="memdesc:a8f6bbf39ea2848ff3b6d105aeb5a31b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">PTA name. <a href="#a8f6bbf39ea2848ff3b6d105aeb5a31b1">More...</a><br /></td></tr>
122
+ <tr class="separator:a8f6bbf39ea2848ff3b6d105aeb5a31b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
123
  </table><table class="memberdecls">
124
124
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
125
125
  Static Public Attributes</h2></td></tr>
@@ -520,8 +520,8 @@ Private Attributes</h2></td></tr>
520
520
  </div><!-- fragment -->
521
521
  </div>
522
522
  </div>
523
- <a id="a12fda9849e3d9e4eb71e0bff8d0696f8"></a>
524
- <h2 class="memtitle"><span class="permalink"><a href="#a12fda9849e3d9e4eb71e0bff8d0696f8">&#9670;&nbsp;</a></span>getPassName()</h2>
523
+ <a id="a8f6bbf39ea2848ff3b6d105aeb5a31b1"></a>
524
+ <h2 class="memtitle"><span class="permalink"><a href="#a8f6bbf39ea2848ff3b6d105aeb5a31b1">&#9670;&nbsp;</a></span>getPassName()</h2>
525
525
 
526
526
  <div class="memitem">
527
527
  <div class="memproto">
@@ -530,7 +530,7 @@ Private Attributes</h2></td></tr>
530
530
  <td class="mlabels-left">
531
531
  <table class="memname">
532
532
  <tr>
533
- <td class="memname">virtual <a class="el" href="namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9">StringRef</a> SVF::WPAPass::getPassName </td>
533
+ <td class="memname">virtual std::string SVF::WPAPass::getPassName </td>
534
534
  <td>(</td>
535
535
  <td class="paramname"></td><td>)</td>
536
536
  <td> const</td>
@@ -577,14 +577,14 @@ Private Attributes</h2></td></tr>
577
577
 
578
578
  <p class="definition">Definition at line <a class="el" href="WPAPass_8cpp_source.html#l00159">159</a> of file <a class="el" href="WPAPass_8cpp_source.html">WPAPass.cpp</a>.</p>
579
579
  <div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;{</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> lit = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), elit = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); lit != elit; ++lit)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node1 = lit-&gt;second;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node2 = node1;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> rit = lit, erit = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); rit != erit; ++rit)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; node2 = rit-&gt;second;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span>(node1==node2)</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun1 = node1-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun2 = node2-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a> = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(node1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), node2-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; (result == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a> ? <span class="stringliteral">&quot;NoAlias&quot;</span> : <span class="stringliteral">&quot;MayAlias&quot;</span>)</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; &lt;&lt; <span class="stringliteral">&quot; var&quot;</span> &lt;&lt; node1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; node1-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>()</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; &lt;&lt; <span class="stringliteral">&quot;@&quot;</span> &lt;&lt; (fun1==<span class="keyword">nullptr</span>?<span class="stringliteral">&quot;&quot;</span>:fun1-&gt;getName().str()) &lt;&lt; <span class="stringliteral">&quot;] --&quot;</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; &lt;&lt; <span class="stringliteral">&quot; var&quot;</span> &lt;&lt; node2-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; node2-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>()</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; &lt;&lt; <span class="stringliteral">&quot;@&quot;</span> &lt;&lt; (fun2==<span class="keyword">nullptr</span>?<span class="stringliteral">&quot;&quot;</span>:fun2-&gt;getName().str()) &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
580
- <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
580
+ <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
581
581
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00195">SVFBasicTypes.h:195</a></div></div>
582
582
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
583
583
  <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00342">GenericGraph.h:342</a></div></div>
584
584
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
585
585
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00206">PointerAnalysis.h:206</a></div></div>
586
586
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
587
- <div class="ttc" id="classSVF_1_1SVFVar_html_a53439a493963d16e5a1b5ed36ab6d33e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">SVF::SVFVar::getFunction</a></div><div class="ttdeci">virtual const Function * getFunction() const</div><div class="ttdoc">Return the function that this SVFVar resides in. Return nullptr if it is a global or constantexpr nod...</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00138">SVFVariables.h:138</a></div></div>
587
+ <div class="ttc" id="classSVF_1_1SVFVar_html_a53439a493963d16e5a1b5ed36ab6d33e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">SVF::SVFVar::getFunction</a></div><div class="ttdeci">virtual const Function * getFunction() const</div><div class="ttdoc">Return the function that this SVFVar resides in. Return nullptr if it is a global or constantexpr nod...</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00131">SVFVariables.h:131</a></div></div>
588
588
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6c01f259ad2379a422d7106ce0255eb8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div></div>
589
589
  <div class="ttc" id="classSVF_1_1SVFVar_html_a54b2a5ed3ed21e54eaf04182f0338333"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">SVF::SVFVar::getValueName</a></div><div class="ttdeci">virtual const std::string getValueName() const =0</div><div class="ttdoc">Get name of the LLVM value. </div></div>
590
590
  <div class="ttc" id="cuddInt_8c_html_a8b2e13c78efca330f06b6ddcd7464b41"><div class="ttname"><a href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a></div><div class="ttdeci">static int result</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l07466">cuddInt.c:7466</a></div></div>
@@ -11829,7 +11829,7 @@ S: MTR_SOFT </li>
11829
11829
  <p>SeeAlso [] </p>
11830
11830
 
11831
11831
  <p class="definition">Definition at line <a class="el" href="cuddInt_8c_source.html#l20917">20917</a> of file <a class="el" href="cuddInt_8c_source.html">cuddInt.c</a>.</p>
11832
- <div class="fragment"><div class="line"><a name="l20920"></a><span class="lineno">20920</span>&#160;{</div><div class="line"><a name="l20921"></a><span class="lineno">20921</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slots, oldslots;</div><div class="line"><a name="l20922"></a><span class="lineno">20922</span>&#160;<span class="keywordtype">int</span> shift, oldshift;</div><div class="line"><a name="l20923"></a><span class="lineno">20923</span>&#160;<span class="keywordtype">int</span> j, pos;</div><div class="line"><a name="l20924"></a><span class="lineno">20924</span>&#160;<a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist, *oldnodelist;</div><div class="line"><a name="l20925"></a><span class="lineno">20925</span>&#160;<a class="code" href="structDdNode.html">DdNode</a> *node, *next;</div><div class="line"><a name="l20926"></a><span class="lineno">20926</span>&#160;<a class="code" href="structDdNode.html">DdNode</a> *sentinel = &amp;(unique-&gt;<a class="code" href="structDdManager.html#a8679aac5ecef09b42b3cf11786d57139">sentinel</a>);</div><div class="line"><a name="l20927"></a><span class="lineno">20927</span>&#160;<a class="code" href="unionhack.html">hack</a> split;</div><div class="line"><a name="l20928"></a><span class="lineno">20928</span>&#160;<span class="keyword">extern</span> <a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20929"></a><span class="lineno">20929</span>&#160;<a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> saveHandler;</div><div class="line"><a name="l20930"></a><span class="lineno">20930</span>&#160;</div><div class="line"><a name="l20931"></a><span class="lineno">20931</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> == <a class="code" href="cuddInt_8h.html#a000b28ff395aeb4c1ca8bc720f07753f">DD_GC_FRAC_HI</a> &amp;&amp; unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#a08442885cc19bd4e63ee8ca294669efa">looseUpTo</a>) {</div><div class="line"><a name="l20932"></a><span class="lineno">20932</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>;</div><div class="line"><a name="l20933"></a><span class="lineno">20933</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a> * (<span class="keywordtype">double</span>) unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20934"></a><span class="lineno">20934</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20935"></a><span class="lineno">20935</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;GC fraction = %.2f\t&quot;</span>, <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>);</div><div class="line"><a name="l20936"></a><span class="lineno">20936</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;minDead = %d\n&quot;</span>, unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20937"></a><span class="lineno">20937</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20938"></a><span class="lineno">20938</span>&#160;}</div><div class="line"><a name="l20939"></a><span class="lineno">20939</span>&#160;</div><div class="line"><a name="l20940"></a><span class="lineno">20940</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> != <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> &amp;&amp; unique-&gt;<a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#aca692386284b334539799b3753e0e7b9">maxmem</a>) {</div><div class="line"><a name="l20941"></a><span class="lineno">20941</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>;</div><div class="line"><a name="l20942"></a><span class="lineno">20942</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> * (<span class="keywordtype">double</span>) unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20943"></a><span class="lineno">20943</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20944"></a><span class="lineno">20944</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;GC fraction = %.2f\t&quot;</span>, <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>);</div><div class="line"><a name="l20945"></a><span class="lineno">20945</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;minDead = %d\n&quot;</span>, unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20946"></a><span class="lineno">20946</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20947"></a><span class="lineno">20947</span>&#160;<a class="code" href="cuddInt_8c.html#a68543f5aa10af3730f82919fdac4fd98">cuddShrinkDeathRow</a>(unique);</div><div class="line"><a name="l20948"></a><span class="lineno">20948</span>&#160;<span class="keywordflow">if</span> (<a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1) &gt; 0) <span class="keywordflow">return</span>;</div><div class="line"><a name="l20949"></a><span class="lineno">20949</span>&#160;}</div><div class="line"><a name="l20950"></a><span class="lineno">20950</span>&#160;</div><div class="line"><a name="l20951"></a><span class="lineno">20951</span>&#160;<span class="keywordflow">if</span> (i != <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>) {</div><div class="line"><a name="l20952"></a><span class="lineno">20952</span>&#160;oldslots = unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l20953"></a><span class="lineno">20953</span>&#160;oldshift = unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l20954"></a><span class="lineno">20954</span>&#160;oldnodelist = unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20955"></a><span class="lineno">20955</span>&#160;</div><div class="line"><a name="l20956"></a><span class="lineno">20956</span>&#160;<span class="comment">/* Compute the new size of the subtable. */</span></div><div class="line"><a name="l20957"></a><span class="lineno">20957</span>&#160;slots = oldslots &lt;&lt; 1;</div><div class="line"><a name="l20958"></a><span class="lineno">20958</span>&#160;shift = oldshift - 1;</div><div class="line"><a name="l20959"></a><span class="lineno">20959</span>&#160;</div><div class="line"><a name="l20960"></a><span class="lineno">20960</span>&#160;saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20961"></a><span class="lineno">20961</span>&#160;MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l20962"></a><span class="lineno">20962</span>&#160;nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l20963"></a><span class="lineno">20963</span>&#160;MMoutOfMemory = saveHandler;</div><div class="line"><a name="l20964"></a><span class="lineno">20964</span>&#160;<span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l20965"></a><span class="lineno">20965</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l20966"></a><span class="lineno">20966</span>&#160;<span class="stringliteral">&quot;Unable to resize subtable %d for lack of memory\n&quot;</span>,</div><div class="line"><a name="l20967"></a><span class="lineno">20967</span>&#160;i);</div><div class="line"><a name="l20968"></a><span class="lineno">20968</span>&#160;<span class="comment">/* Prevent frequent resizing attempts. */</span></div><div class="line"><a name="l20969"></a><span class="lineno">20969</span>&#160;(void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20970"></a><span class="lineno">20970</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> != NULL) {</div><div class="line"><a name="l20971"></a><span class="lineno">20971</span>&#160;<a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(unique-&gt;<a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a>);</div><div class="line"><a name="l20972"></a><span class="lineno">20972</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> = NULL;</div><div class="line"><a name="l20973"></a><span class="lineno">20973</span>&#160;<span class="comment">/* Inhibit resizing of tables. */</span></div><div class="line"><a name="l20974"></a><span class="lineno">20974</span>&#160;<a class="code" href="cuddInt_8c.html#a917f877ac725fc2d169102ab9d7aec97">cuddSlowTableGrowth</a>(unique);</div><div class="line"><a name="l20975"></a><span class="lineno">20975</span>&#160;}</div><div class="line"><a name="l20976"></a><span class="lineno">20976</span>&#160;<span class="keywordflow">return</span>;</div><div class="line"><a name="l20977"></a><span class="lineno">20977</span>&#160;}</div><div class="line"><a name="l20978"></a><span class="lineno">20978</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l20979"></a><span class="lineno">20979</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l20980"></a><span class="lineno">20980</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l20981"></a><span class="lineno">20981</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l20982"></a><span class="lineno">20982</span>&#160;</div><div class="line"><a name="l20983"></a><span class="lineno">20983</span>&#160;<span class="comment">/* Move the nodes from the old table to the new table.</span></div><div class="line"><a name="l20984"></a><span class="lineno">20984</span>&#160;<span class="comment">** This code depends on the type of hash function.</span></div><div class="line"><a name="l20985"></a><span class="lineno">20985</span>&#160;<span class="comment">** It assumes that the effect of doubling the size of the table</span></div><div class="line"><a name="l20986"></a><span class="lineno">20986</span>&#160;<span class="comment">** is to retain one more bit of the 32-bit hash value.</span></div><div class="line"><a name="l20987"></a><span class="lineno">20987</span>&#160;<span class="comment">** The additional bit is the LSB. */</span></div><div class="line"><a name="l20988"></a><span class="lineno">20988</span>&#160;<span class="keywordflow">for</span> (j = 0; (unsigned) j &lt; oldslots; j++) {</div><div class="line"><a name="l20989"></a><span class="lineno">20989</span>&#160;<a class="code" href="structDdNode.html">DdNodePtr</a> *evenP, *oddP;</div><div class="line"><a name="l20990"></a><span class="lineno">20990</span>&#160;node = oldnodelist[j];</div><div class="line"><a name="l20991"></a><span class="lineno">20991</span>&#160;evenP = &amp;(nodelist[j&lt;&lt;1]);</div><div class="line"><a name="l20992"></a><span class="lineno">20992</span>&#160;oddP = &amp;(nodelist[(j&lt;&lt;1)+1]);</div><div class="line"><a name="l20993"></a><span class="lineno">20993</span>&#160;<span class="keywordflow">while</span> (node != sentinel) {</div><div class="line"><a name="l20994"></a><span class="lineno">20994</span>&#160;next = node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20995"></a><span class="lineno">20995</span>&#160;pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(<a class="code" href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a>(node), <a class="code" href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a>(node), shift);</div><div class="line"><a name="l20996"></a><span class="lineno">20996</span>&#160;<span class="keywordflow">if</span> (pos &amp; 1) {</div><div class="line"><a name="l20997"></a><span class="lineno">20997</span>&#160;*oddP = node;</div><div class="line"><a name="l20998"></a><span class="lineno">20998</span>&#160;oddP = &amp;(node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l20999"></a><span class="lineno">20999</span>&#160;} <span class="keywordflow">else</span> {</div><div class="line"><a name="l21000"></a><span class="lineno">21000</span>&#160;*evenP = node;</div><div class="line"><a name="l21001"></a><span class="lineno">21001</span>&#160;evenP = &amp;(node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l21002"></a><span class="lineno">21002</span>&#160;}</div><div class="line"><a name="l21003"></a><span class="lineno">21003</span>&#160;node = next;</div><div class="line"><a name="l21004"></a><span class="lineno">21004</span>&#160;}</div><div class="line"><a name="l21005"></a><span class="lineno">21005</span>&#160;*evenP = *oddP = sentinel;</div><div class="line"><a name="l21006"></a><span class="lineno">21006</span>&#160;}</div><div class="line"><a name="l21007"></a><span class="lineno">21007</span>&#160;<a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21008"></a><span class="lineno">21008</span>&#160;</div><div class="line"><a name="l21009"></a><span class="lineno">21009</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21010"></a><span class="lineno">21010</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21011"></a><span class="lineno">21011</span>&#160;<span class="stringliteral">&quot;rehashing layer %d: keys %d dead %d new size %d\n&quot;</span>,</div><div class="line"><a name="l21012"></a><span class="lineno">21012</span>&#160;i, unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,</div><div class="line"><a name="l21013"></a><span class="lineno">21013</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>, slots);</div><div class="line"><a name="l21014"></a><span class="lineno">21014</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l21015"></a><span class="lineno">21015</span>&#160;} <span class="keywordflow">else</span> {</div><div class="line"><a name="l21016"></a><span class="lineno">21016</span>&#160;oldslots = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l21017"></a><span class="lineno">21017</span>&#160;oldshift = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l21018"></a><span class="lineno">21018</span>&#160;oldnodelist = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l21019"></a><span class="lineno">21019</span>&#160;</div><div class="line"><a name="l21020"></a><span class="lineno">21020</span>&#160;<span class="comment">/* The constant subtable is never subjected to reordering.</span></div><div class="line"><a name="l21021"></a><span class="lineno">21021</span>&#160;<span class="comment">** Therefore, when it is resized, it is because it has just</span></div><div class="line"><a name="l21022"></a><span class="lineno">21022</span>&#160;<span class="comment">** reached the maximum load. We can safely just double the size,</span></div><div class="line"><a name="l21023"></a><span class="lineno">21023</span>&#160;<span class="comment">** with no need for the loop we use for the other tables.</span></div><div class="line"><a name="l21024"></a><span class="lineno">21024</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l21025"></a><span class="lineno">21025</span>&#160;slots = oldslots &lt;&lt; 1;</div><div class="line"><a name="l21026"></a><span class="lineno">21026</span>&#160;shift = oldshift - 1;</div><div class="line"><a name="l21027"></a><span class="lineno">21027</span>&#160;saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l21028"></a><span class="lineno">21028</span>&#160;MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l21029"></a><span class="lineno">21029</span>&#160;nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l21030"></a><span class="lineno">21030</span>&#160;MMoutOfMemory = saveHandler;</div><div class="line"><a name="l21031"></a><span class="lineno">21031</span>&#160;<span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l21032"></a><span class="lineno">21032</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21033"></a><span class="lineno">21033</span>&#160;<span class="stringliteral">&quot;Unable to resize constant subtable for lack of memory\n&quot;</span>);</div><div class="line"><a name="l21034"></a><span class="lineno">21034</span>&#160;(void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l21035"></a><span class="lineno">21035</span>&#160;<span class="keywordflow">for</span> (j = 0; j &lt; unique-&gt;<a class="code" href="structDdManager.html#a5fc169bc41431f1a0645f64c753457e3">size</a>; j++) {</div><div class="line"><a name="l21036"></a><span class="lineno">21036</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[j].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> &lt;&lt;= 1;</div><div class="line"><a name="l21037"></a><span class="lineno">21037</span>&#160;}</div><div class="line"><a name="l21038"></a><span class="lineno">21038</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> &lt;&lt;= 1;</div><div class="line"><a name="l21039"></a><span class="lineno">21039</span>&#160;<span class="keywordflow">return</span>;</div><div class="line"><a name="l21040"></a><span class="lineno">21040</span>&#160;}</div><div class="line"><a name="l21041"></a><span class="lineno">21041</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l21042"></a><span class="lineno">21042</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l21043"></a><span class="lineno">21043</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l21044"></a><span class="lineno">21044</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l21045"></a><span class="lineno">21045</span>&#160;<span class="keywordflow">for</span> (j = 0; (unsigned) j &lt; slots; j++) {</div><div class="line"><a name="l21046"></a><span class="lineno">21046</span>&#160;nodelist[j] = NULL;</div><div class="line"><a name="l21047"></a><span class="lineno">21047</span>&#160;}</div><div class="line"><a name="l21048"></a><span class="lineno">21048</span>&#160;<span class="keywordflow">for</span> (j = 0; (unsigned) j &lt; oldslots; j++) {</div><div class="line"><a name="l21049"></a><span class="lineno">21049</span>&#160;node = oldnodelist[j];</div><div class="line"><a name="l21050"></a><span class="lineno">21050</span>&#160;<span class="keywordflow">while</span> (node != NULL) {</div><div class="line"><a name="l21051"></a><span class="lineno">21051</span>&#160;next = node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l21052"></a><span class="lineno">21052</span>&#160;split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = <a class="code" href="cuddInt_8h.html#ae4c91711a93064634cccc69dc22f3712">cuddV</a>(node);</div><div class="line"><a name="l21053"></a><span class="lineno">21053</span>&#160;pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], shift);</div><div class="line"><a name="l21054"></a><span class="lineno">21054</span>&#160;node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l21055"></a><span class="lineno">21055</span>&#160;nodelist[pos] = node;</div><div class="line"><a name="l21056"></a><span class="lineno">21056</span>&#160;node = next;</div><div class="line"><a name="l21057"></a><span class="lineno">21057</span>&#160;}</div><div class="line"><a name="l21058"></a><span class="lineno">21058</span>&#160;}</div><div class="line"><a name="l21059"></a><span class="lineno">21059</span>&#160;<a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21060"></a><span class="lineno">21060</span>&#160;</div><div class="line"><a name="l21061"></a><span class="lineno">21061</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21062"></a><span class="lineno">21062</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21063"></a><span class="lineno">21063</span>&#160;<span class="stringliteral">&quot;rehashing constants: keys %d dead %d new size %d\n&quot;</span>,</div><div class="line"><a name="l21064"></a><span class="lineno">21064</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>,slots);</div><div class="line"><a name="l21065"></a><span class="lineno">21065</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l21066"></a><span class="lineno">21066</span>&#160;}</div><div class="line"><a name="l21067"></a><span class="lineno">21067</span>&#160;</div><div class="line"><a name="l21068"></a><span class="lineno">21068</span>&#160;<span class="comment">/* Update global data */</span></div><div class="line"><a name="l21069"></a><span class="lineno">21069</span>&#160;</div><div class="line"><a name="l21070"></a><span class="lineno">21070</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> += (slots - oldslots) * <span class="keyword">sizeof</span>(<a class="code" href="structDdNode.html">DdNodePtr</a>);</div><div class="line"><a name="l21071"></a><span class="lineno">21071</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> += (slots - oldslots);</div><div class="line"><a name="l21072"></a><span class="lineno">21072</span>&#160;<a class="code" href="cuddInt_8c.html#a289296f33cef84ced5299b7600a9c352">ddFixLimits</a>(unique);</div><div class="line"><a name="l21073"></a><span class="lineno">21073</span>&#160;</div><div class="line"><a name="l21074"></a><span class="lineno">21074</span>&#160;} <span class="comment">/* end of cuddRehash */</span></div><div class="ttc" id="structDdSubtable_html_aca2eea345c00c69090e701ffacff7de4"><div class="ttname"><a href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">DdSubtable::keys</a></div><div class="ttdeci">unsigned int keys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00327">cuddInt.h:327</a></div></div>
11832
+ <div class="fragment"><div class="line"><a name="l20920"></a><span class="lineno">20920</span>&#160;{</div><div class="line"><a name="l20921"></a><span class="lineno">20921</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slots, oldslots;</div><div class="line"><a name="l20922"></a><span class="lineno">20922</span>&#160;<span class="keywordtype">int</span> shift, oldshift;</div><div class="line"><a name="l20923"></a><span class="lineno">20923</span>&#160;<span class="keywordtype">int</span> j, pos;</div><div class="line"><a name="l20924"></a><span class="lineno">20924</span>&#160;<a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist, *oldnodelist;</div><div class="line"><a name="l20925"></a><span class="lineno">20925</span>&#160;<a class="code" href="structDdNode.html">DdNode</a> *node, *next;</div><div class="line"><a name="l20926"></a><span class="lineno">20926</span>&#160;<a class="code" href="structDdNode.html">DdNode</a> *sentinel = &amp;(unique-&gt;<a class="code" href="structDdManager.html#a8679aac5ecef09b42b3cf11786d57139">sentinel</a>);</div><div class="line"><a name="l20927"></a><span class="lineno">20927</span>&#160;<a class="code" href="unionhack.html">hack</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">split</a>;</div><div class="line"><a name="l20928"></a><span class="lineno">20928</span>&#160;<span class="keyword">extern</span> <a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20929"></a><span class="lineno">20929</span>&#160;<a class="code" href="cudd_8h.html#a70985999f50facb0c680b928c161d7c1">DD_OOMFP</a> saveHandler;</div><div class="line"><a name="l20930"></a><span class="lineno">20930</span>&#160;</div><div class="line"><a name="l20931"></a><span class="lineno">20931</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> == <a class="code" href="cuddInt_8h.html#a000b28ff395aeb4c1ca8bc720f07753f">DD_GC_FRAC_HI</a> &amp;&amp; unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#a08442885cc19bd4e63ee8ca294669efa">looseUpTo</a>) {</div><div class="line"><a name="l20932"></a><span class="lineno">20932</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>;</div><div class="line"><a name="l20933"></a><span class="lineno">20933</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a> * (<span class="keywordtype">double</span>) unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20934"></a><span class="lineno">20934</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20935"></a><span class="lineno">20935</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;GC fraction = %.2f\t&quot;</span>, <a class="code" href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a>);</div><div class="line"><a name="l20936"></a><span class="lineno">20936</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;minDead = %d\n&quot;</span>, unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20937"></a><span class="lineno">20937</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20938"></a><span class="lineno">20938</span>&#160;}</div><div class="line"><a name="l20939"></a><span class="lineno">20939</span>&#160;</div><div class="line"><a name="l20940"></a><span class="lineno">20940</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> != <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> &amp;&amp; unique-&gt;<a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#aca692386284b334539799b3753e0e7b9">maxmem</a>) {</div><div class="line"><a name="l20941"></a><span class="lineno">20941</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6d7c2a944d2b73afcf3d085410568849">gcFrac</a> = <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>;</div><div class="line"><a name="l20942"></a><span class="lineno">20942</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a> = (unsigned) (<a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a> * (<span class="keywordtype">double</span>) unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a>);</div><div class="line"><a name="l20943"></a><span class="lineno">20943</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l20944"></a><span class="lineno">20944</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;GC fraction = %.2f\t&quot;</span>, <a class="code" href="cuddInt_8h.html#acb2a86b57416fca50100a29ba98b8639">DD_GC_FRAC_MIN</a>);</div><div class="line"><a name="l20945"></a><span class="lineno">20945</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,<span class="stringliteral">&quot;minDead = %d\n&quot;</span>, unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>);</div><div class="line"><a name="l20946"></a><span class="lineno">20946</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20947"></a><span class="lineno">20947</span>&#160;<a class="code" href="cuddInt_8c.html#a68543f5aa10af3730f82919fdac4fd98">cuddShrinkDeathRow</a>(unique);</div><div class="line"><a name="l20948"></a><span class="lineno">20948</span>&#160;<span class="keywordflow">if</span> (<a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1) &gt; 0) <span class="keywordflow">return</span>;</div><div class="line"><a name="l20949"></a><span class="lineno">20949</span>&#160;}</div><div class="line"><a name="l20950"></a><span class="lineno">20950</span>&#160;</div><div class="line"><a name="l20951"></a><span class="lineno">20951</span>&#160;<span class="keywordflow">if</span> (i != <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>) {</div><div class="line"><a name="l20952"></a><span class="lineno">20952</span>&#160;oldslots = unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l20953"></a><span class="lineno">20953</span>&#160;oldshift = unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l20954"></a><span class="lineno">20954</span>&#160;oldnodelist = unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20955"></a><span class="lineno">20955</span>&#160;</div><div class="line"><a name="l20956"></a><span class="lineno">20956</span>&#160;<span class="comment">/* Compute the new size of the subtable. */</span></div><div class="line"><a name="l20957"></a><span class="lineno">20957</span>&#160;slots = oldslots &lt;&lt; 1;</div><div class="line"><a name="l20958"></a><span class="lineno">20958</span>&#160;shift = oldshift - 1;</div><div class="line"><a name="l20959"></a><span class="lineno">20959</span>&#160;</div><div class="line"><a name="l20960"></a><span class="lineno">20960</span>&#160;saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l20961"></a><span class="lineno">20961</span>&#160;MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l20962"></a><span class="lineno">20962</span>&#160;nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l20963"></a><span class="lineno">20963</span>&#160;MMoutOfMemory = saveHandler;</div><div class="line"><a name="l20964"></a><span class="lineno">20964</span>&#160;<span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l20965"></a><span class="lineno">20965</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l20966"></a><span class="lineno">20966</span>&#160;<span class="stringliteral">&quot;Unable to resize subtable %d for lack of memory\n&quot;</span>,</div><div class="line"><a name="l20967"></a><span class="lineno">20967</span>&#160;i);</div><div class="line"><a name="l20968"></a><span class="lineno">20968</span>&#160;<span class="comment">/* Prevent frequent resizing attempts. */</span></div><div class="line"><a name="l20969"></a><span class="lineno">20969</span>&#160;(void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20970"></a><span class="lineno">20970</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> != NULL) {</div><div class="line"><a name="l20971"></a><span class="lineno">20971</span>&#160;<a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(unique-&gt;<a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a>);</div><div class="line"><a name="l20972"></a><span class="lineno">20972</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a0c7a23b6822e1f426e2021e6864af0e9">stash</a> = NULL;</div><div class="line"><a name="l20973"></a><span class="lineno">20973</span>&#160;<span class="comment">/* Inhibit resizing of tables. */</span></div><div class="line"><a name="l20974"></a><span class="lineno">20974</span>&#160;<a class="code" href="cuddInt_8c.html#a917f877ac725fc2d169102ab9d7aec97">cuddSlowTableGrowth</a>(unique);</div><div class="line"><a name="l20975"></a><span class="lineno">20975</span>&#160;}</div><div class="line"><a name="l20976"></a><span class="lineno">20976</span>&#160;<span class="keywordflow">return</span>;</div><div class="line"><a name="l20977"></a><span class="lineno">20977</span>&#160;}</div><div class="line"><a name="l20978"></a><span class="lineno">20978</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l20979"></a><span class="lineno">20979</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l20980"></a><span class="lineno">20980</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l20981"></a><span class="lineno">20981</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l20982"></a><span class="lineno">20982</span>&#160;</div><div class="line"><a name="l20983"></a><span class="lineno">20983</span>&#160;<span class="comment">/* Move the nodes from the old table to the new table.</span></div><div class="line"><a name="l20984"></a><span class="lineno">20984</span>&#160;<span class="comment">** This code depends on the type of hash function.</span></div><div class="line"><a name="l20985"></a><span class="lineno">20985</span>&#160;<span class="comment">** It assumes that the effect of doubling the size of the table</span></div><div class="line"><a name="l20986"></a><span class="lineno">20986</span>&#160;<span class="comment">** is to retain one more bit of the 32-bit hash value.</span></div><div class="line"><a name="l20987"></a><span class="lineno">20987</span>&#160;<span class="comment">** The additional bit is the LSB. */</span></div><div class="line"><a name="l20988"></a><span class="lineno">20988</span>&#160;<span class="keywordflow">for</span> (j = 0; (unsigned) j &lt; oldslots; j++) {</div><div class="line"><a name="l20989"></a><span class="lineno">20989</span>&#160;<a class="code" href="structDdNode.html">DdNodePtr</a> *evenP, *oddP;</div><div class="line"><a name="l20990"></a><span class="lineno">20990</span>&#160;node = oldnodelist[j];</div><div class="line"><a name="l20991"></a><span class="lineno">20991</span>&#160;evenP = &amp;(nodelist[j&lt;&lt;1]);</div><div class="line"><a name="l20992"></a><span class="lineno">20992</span>&#160;oddP = &amp;(nodelist[(j&lt;&lt;1)+1]);</div><div class="line"><a name="l20993"></a><span class="lineno">20993</span>&#160;<span class="keywordflow">while</span> (node != sentinel) {</div><div class="line"><a name="l20994"></a><span class="lineno">20994</span>&#160;next = node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20995"></a><span class="lineno">20995</span>&#160;pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(<a class="code" href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a>(node), <a class="code" href="cuddInt_8h.html#aaef03f10591d8e28bb5fecd2aa7c93ff">cuddE</a>(node), shift);</div><div class="line"><a name="l20996"></a><span class="lineno">20996</span>&#160;<span class="keywordflow">if</span> (pos &amp; 1) {</div><div class="line"><a name="l20997"></a><span class="lineno">20997</span>&#160;*oddP = node;</div><div class="line"><a name="l20998"></a><span class="lineno">20998</span>&#160;oddP = &amp;(node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l20999"></a><span class="lineno">20999</span>&#160;} <span class="keywordflow">else</span> {</div><div class="line"><a name="l21000"></a><span class="lineno">21000</span>&#160;*evenP = node;</div><div class="line"><a name="l21001"></a><span class="lineno">21001</span>&#160;evenP = &amp;(node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>);</div><div class="line"><a name="l21002"></a><span class="lineno">21002</span>&#160;}</div><div class="line"><a name="l21003"></a><span class="lineno">21003</span>&#160;node = next;</div><div class="line"><a name="l21004"></a><span class="lineno">21004</span>&#160;}</div><div class="line"><a name="l21005"></a><span class="lineno">21005</span>&#160;*evenP = *oddP = sentinel;</div><div class="line"><a name="l21006"></a><span class="lineno">21006</span>&#160;}</div><div class="line"><a name="l21007"></a><span class="lineno">21007</span>&#160;<a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21008"></a><span class="lineno">21008</span>&#160;</div><div class="line"><a name="l21009"></a><span class="lineno">21009</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21010"></a><span class="lineno">21010</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21011"></a><span class="lineno">21011</span>&#160;<span class="stringliteral">&quot;rehashing layer %d: keys %d dead %d new size %d\n&quot;</span>,</div><div class="line"><a name="l21012"></a><span class="lineno">21012</span>&#160;i, unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,</div><div class="line"><a name="l21013"></a><span class="lineno">21013</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[i].<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>, slots);</div><div class="line"><a name="l21014"></a><span class="lineno">21014</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l21015"></a><span class="lineno">21015</span>&#160;} <span class="keywordflow">else</span> {</div><div class="line"><a name="l21016"></a><span class="lineno">21016</span>&#160;oldslots = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a>;</div><div class="line"><a name="l21017"></a><span class="lineno">21017</span>&#160;oldshift = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>;</div><div class="line"><a name="l21018"></a><span class="lineno">21018</span>&#160;oldnodelist = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l21019"></a><span class="lineno">21019</span>&#160;</div><div class="line"><a name="l21020"></a><span class="lineno">21020</span>&#160;<span class="comment">/* The constant subtable is never subjected to reordering.</span></div><div class="line"><a name="l21021"></a><span class="lineno">21021</span>&#160;<span class="comment">** Therefore, when it is resized, it is because it has just</span></div><div class="line"><a name="l21022"></a><span class="lineno">21022</span>&#160;<span class="comment">** reached the maximum load. We can safely just double the size,</span></div><div class="line"><a name="l21023"></a><span class="lineno">21023</span>&#160;<span class="comment">** with no need for the loop we use for the other tables.</span></div><div class="line"><a name="l21024"></a><span class="lineno">21024</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l21025"></a><span class="lineno">21025</span>&#160;slots = oldslots &lt;&lt; 1;</div><div class="line"><a name="l21026"></a><span class="lineno">21026</span>&#160;shift = oldshift - 1;</div><div class="line"><a name="l21027"></a><span class="lineno">21027</span>&#160;saveHandler = <a class="code" href="util_8h.html#af76722b9c78f324a2cd1a57318e0eea1">MMoutOfMemory</a>;</div><div class="line"><a name="l21028"></a><span class="lineno">21028</span>&#160;MMoutOfMemory = <a class="code" href="cuddInt_8c.html#a3115ee582497df51b35f9893074017a5">Cudd_OutOfMem</a>;</div><div class="line"><a name="l21029"></a><span class="lineno">21029</span>&#160;nodelist = <a class="code" href="util_8h.html#a21755cdb11c76954a33c653579810f3a">ALLOC</a>(<a class="code" href="structDdNode.html">DdNodePtr</a>, slots);</div><div class="line"><a name="l21030"></a><span class="lineno">21030</span>&#160;MMoutOfMemory = saveHandler;</div><div class="line"><a name="l21031"></a><span class="lineno">21031</span>&#160;<span class="keywordflow">if</span> (nodelist == NULL) {</div><div class="line"><a name="l21032"></a><span class="lineno">21032</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21033"></a><span class="lineno">21033</span>&#160;<span class="stringliteral">&quot;Unable to resize constant subtable for lack of memory\n&quot;</span>);</div><div class="line"><a name="l21034"></a><span class="lineno">21034</span>&#160;(void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l21035"></a><span class="lineno">21035</span>&#160;<span class="keywordflow">for</span> (j = 0; j &lt; unique-&gt;<a class="code" href="structDdManager.html#a5fc169bc41431f1a0645f64c753457e3">size</a>; j++) {</div><div class="line"><a name="l21036"></a><span class="lineno">21036</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a835661f21be3f5d8944d76e22995be1f">subtables</a>[j].<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> &lt;&lt;= 1;</div><div class="line"><a name="l21037"></a><span class="lineno">21037</span>&#160;}</div><div class="line"><a name="l21038"></a><span class="lineno">21038</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> &lt;&lt;= 1;</div><div class="line"><a name="l21039"></a><span class="lineno">21039</span>&#160;<span class="keywordflow">return</span>;</div><div class="line"><a name="l21040"></a><span class="lineno">21040</span>&#160;}</div><div class="line"><a name="l21041"></a><span class="lineno">21041</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ab01ae39304c9a7ce2236584a78ff5856">slots</a> = slots;</div><div class="line"><a name="l21042"></a><span class="lineno">21042</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a> = shift;</div><div class="line"><a name="l21043"></a><span class="lineno">21043</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a> = slots * <a class="code" href="cuddInt_8h.html#ac208c481d05e63d611b27bc3de089b35">DD_MAX_SUBTABLE_DENSITY</a>;</div><div class="line"><a name="l21044"></a><span class="lineno">21044</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a> = nodelist;</div><div class="line"><a name="l21045"></a><span class="lineno">21045</span>&#160;<span class="keywordflow">for</span> (j = 0; (unsigned) j &lt; slots; j++) {</div><div class="line"><a name="l21046"></a><span class="lineno">21046</span>&#160;nodelist[j] = NULL;</div><div class="line"><a name="l21047"></a><span class="lineno">21047</span>&#160;}</div><div class="line"><a name="l21048"></a><span class="lineno">21048</span>&#160;<span class="keywordflow">for</span> (j = 0; (unsigned) j &lt; oldslots; j++) {</div><div class="line"><a name="l21049"></a><span class="lineno">21049</span>&#160;node = oldnodelist[j];</div><div class="line"><a name="l21050"></a><span class="lineno">21050</span>&#160;<span class="keywordflow">while</span> (node != NULL) {</div><div class="line"><a name="l21051"></a><span class="lineno">21051</span>&#160;next = node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l21052"></a><span class="lineno">21052</span>&#160;split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = <a class="code" href="cuddInt_8h.html#ae4c91711a93064634cccc69dc22f3712">cuddV</a>(node);</div><div class="line"><a name="l21053"></a><span class="lineno">21053</span>&#160;pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], shift);</div><div class="line"><a name="l21054"></a><span class="lineno">21054</span>&#160;node-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l21055"></a><span class="lineno">21055</span>&#160;nodelist[pos] = node;</div><div class="line"><a name="l21056"></a><span class="lineno">21056</span>&#160;node = next;</div><div class="line"><a name="l21057"></a><span class="lineno">21057</span>&#160;}</div><div class="line"><a name="l21058"></a><span class="lineno">21058</span>&#160;}</div><div class="line"><a name="l21059"></a><span class="lineno">21059</span>&#160;<a class="code" href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a>(oldnodelist);</div><div class="line"><a name="l21060"></a><span class="lineno">21060</span>&#160;</div><div class="line"><a name="l21061"></a><span class="lineno">21061</span>&#160;<span class="preprocessor">#ifdef DD_VERBOSE</span></div><div class="line"><a name="l21062"></a><span class="lineno">21062</span>&#160;(void) fprintf(unique-&gt;<a class="code" href="structDdManager.html#a6b0364070de52e689fe3485a86bb2825">err</a>,</div><div class="line"><a name="l21063"></a><span class="lineno">21063</span>&#160;<span class="stringliteral">&quot;rehashing constants: keys %d dead %d new size %d\n&quot;</span>,</div><div class="line"><a name="l21064"></a><span class="lineno">21064</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>,unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a>,slots);</div><div class="line"><a name="l21065"></a><span class="lineno">21065</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l21066"></a><span class="lineno">21066</span>&#160;}</div><div class="line"><a name="l21067"></a><span class="lineno">21067</span>&#160;</div><div class="line"><a name="l21068"></a><span class="lineno">21068</span>&#160;<span class="comment">/* Update global data */</span></div><div class="line"><a name="l21069"></a><span class="lineno">21069</span>&#160;</div><div class="line"><a name="l21070"></a><span class="lineno">21070</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aeabd28ce0f5ff9709ec8ab78d80a6946">memused</a> += (slots - oldslots) * <span class="keyword">sizeof</span>(<a class="code" href="structDdNode.html">DdNodePtr</a>);</div><div class="line"><a name="l21071"></a><span class="lineno">21071</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#a8a0404c6d3d8c1e49ed84e4467c3387c">slots</a> += (slots - oldslots);</div><div class="line"><a name="l21072"></a><span class="lineno">21072</span>&#160;<a class="code" href="cuddInt_8c.html#a289296f33cef84ced5299b7600a9c352">ddFixLimits</a>(unique);</div><div class="line"><a name="l21073"></a><span class="lineno">21073</span>&#160;</div><div class="line"><a name="l21074"></a><span class="lineno">21074</span>&#160;} <span class="comment">/* end of cuddRehash */</span></div><div class="ttc" id="structDdSubtable_html_aca2eea345c00c69090e701ffacff7de4"><div class="ttname"><a href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">DdSubtable::keys</a></div><div class="ttdeci">unsigned int keys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00327">cuddInt.h:327</a></div></div>
11833
11833
  <div class="ttc" id="cuddInt_8h_html_a04555d27c114939b7c4a37be638b7968"><div class="ttname"><a href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a></div><div class="ttdeci">#define ddHash(f, g, s)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00713">cuddInt.h:713</a></div></div>
11834
11834
  <div class="ttc" id="structDdNode_html"><div class="ttname"><a href="structDdNode.html">DdNode</a></div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00271">cudd.h:271</a></div></div>
11835
11835
  <div class="ttc" id="util_8h_html_aa279a8302d25fa9dfeb3e00161aee784"><div class="ttname"><a href="util_8h.html#aa279a8302d25fa9dfeb3e00161aee784">FREE</a></div><div class="ttdeci">#define FREE(obj)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00080">util.h:80</a></div></div>
@@ -11855,6 +11855,7 @@ S: MTR_SOFT </li>
11855
11855
  <div class="ttc" id="structDdNode_html_a9422352d3b46de31b325d1cf18b9f25f"><div class="ttname"><a href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">DdNode::next</a></div><div class="ttdeci">DdNode * next</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00275">cudd.h:275</a></div></div>
11856
11856
  <div class="ttc" id="cuddInt_8h_html_a9b1f609f95c31c8f64395a4b0c778a3f"><div class="ttname"><a href="cuddInt_8h.html#a9b1f609f95c31c8f64395a4b0c778a3f">DD_GC_FRAC_LO</a></div><div class="ttdeci">#define DD_GC_FRAC_LO</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00134">cuddInt.h:134</a></div></div>
11857
11857
  <div class="ttc" id="structDdSubtable_html_a2997673187c40bc7d7977a2581581420"><div class="ttname"><a href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">DdSubtable::maxKeys</a></div><div class="ttdeci">unsigned int maxKeys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00328">cuddInt.h:328</a></div></div>
11858
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af54e70082388bbd70868250aaa0bc86b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">SVF::SVFUtil::split</a></div><div class="ttdeci">std::vector&lt; std::string &gt; split(const std::string &amp;s, char seperator)</div><div class="ttdoc">Split into two substrings around the first occurrence of a separator string. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00243">SVFUtil.h:243</a></div></div>
11858
11859
  <div class="ttc" id="cudd_8h_html_aa097684bc69c58891332b245d577b986"><div class="ttname"><a href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a></div><div class="ttdeci">#define CUDD_CONST_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00107">cudd.h:107</a></div></div>
11859
11860
  <div class="ttc" id="structDdSubtable_html_a1226ea7ecfb6d6b56269cb518ac5e2d7"><div class="ttname"><a href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">DdSubtable::nodelist</a></div><div class="ttdeci">DdNode ** nodelist</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00324">cuddInt.h:324</a></div></div>
11860
11861
  <div class="ttc" id="cuddInt_8h_html_a09834c697b92ac296b1e50c863f88262"><div class="ttname"><a href="cuddInt_8h.html#a09834c697b92ac296b1e50c863f88262">cuddT</a></div><div class="ttdeci">#define cuddT(node)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00626">cuddInt.h:626</a></div></div>
@@ -12684,7 +12685,7 @@ Repeat 1-4 until no further improvement. </li>
12684
12685
  <p>SideEffects [None] </p>
12685
12686
 
12686
12687
  <p class="definition">Definition at line <a class="el" href="cuddInt_8c_source.html#l20837">20837</a> of file <a class="el" href="cuddInt_8c_source.html">cuddInt.c</a>.</p>
12687
- <div class="fragment"><div class="line"><a name="l20840"></a><span class="lineno">20840</span>&#160;{</div><div class="line"><a name="l20841"></a><span class="lineno">20841</span>&#160;<span class="keywordtype">int</span> pos;</div><div class="line"><a name="l20842"></a><span class="lineno">20842</span>&#160;<a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist;</div><div class="line"><a name="l20843"></a><span class="lineno">20843</span>&#160;<a class="code" href="structDdNode.html">DdNode</a> *looking;</div><div class="line"><a name="l20844"></a><span class="lineno">20844</span>&#160;<a class="code" href="unionhack.html">hack</a> split;</div><div class="line"><a name="l20845"></a><span class="lineno">20845</span>&#160;</div><div class="line"><a name="l20846"></a><span class="lineno">20846</span>&#160;<span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20847"></a><span class="lineno">20847</span>&#160;unique-&gt;uniqueLookUps++;</div><div class="line"><a name="l20848"></a><span class="lineno">20848</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20849"></a><span class="lineno">20849</span>&#160;</div><div class="line"><a name="l20850"></a><span class="lineno">20850</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a>) {</div><div class="line"><a name="l20851"></a><span class="lineno">20851</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a9ea7f1aaa19f3621745b590b7dca4f26">gcEnabled</a> &amp;&amp; ((unique-&gt;<a class="code" href="structDdManager.html#a170c1cfcbbd9b83bb479fc85c177c52e">dead</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>) ||</div><div class="line"><a name="l20852"></a><span class="lineno">20852</span>&#160;(10 * unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a> &gt; 9 * unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>))) { <span class="comment">/* too many dead */</span></div><div class="line"><a name="l20853"></a><span class="lineno">20853</span>&#160;(void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20854"></a><span class="lineno">20854</span>&#160;} <span class="keywordflow">else</span> {</div><div class="line"><a name="l20855"></a><span class="lineno">20855</span>&#160;<a class="code" href="cuddInt_8c.html#a808cc83054e0925704d498f721605926">cuddRehash</a>(unique,<a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>);</div><div class="line"><a name="l20856"></a><span class="lineno">20856</span>&#160;}</div><div class="line"><a name="l20857"></a><span class="lineno">20857</span>&#160;}</div><div class="line"><a name="l20858"></a><span class="lineno">20858</span>&#160;</div><div class="line"><a name="l20859"></a><span class="lineno">20859</span>&#160;<a class="code" href="cuddInt_8h.html#a2ff323254eb979e424f99cbe8ef593fe">cuddAdjust</a>(value); <span class="comment">/* for the case of crippled infinities */</span></div><div class="line"><a name="l20860"></a><span class="lineno">20860</span>&#160;</div><div class="line"><a name="l20861"></a><span class="lineno">20861</span>&#160;<span class="keywordflow">if</span> (<a class="code" href="cuddInt_8h.html#aa2b85051644f4b773320ab64c0eae9c2">ddAbs</a>(value) &lt; unique-&gt;<a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>) {</div><div class="line"><a name="l20862"></a><span class="lineno">20862</span>&#160;value = 0.0;</div><div class="line"><a name="l20863"></a><span class="lineno">20863</span>&#160;}</div><div class="line"><a name="l20864"></a><span class="lineno">20864</span>&#160;split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = value;</div><div class="line"><a name="l20865"></a><span class="lineno">20865</span>&#160;</div><div class="line"><a name="l20866"></a><span class="lineno">20866</span>&#160;pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>);</div><div class="line"><a name="l20867"></a><span class="lineno">20867</span>&#160;nodelist = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20868"></a><span class="lineno">20868</span>&#160;looking = nodelist[pos];</div><div class="line"><a name="l20869"></a><span class="lineno">20869</span>&#160;</div><div class="line"><a name="l20870"></a><span class="lineno">20870</span>&#160;<span class="comment">/* Here we compare values both for equality and for difference less</span></div><div class="line"><a name="l20871"></a><span class="lineno">20871</span>&#160;<span class="comment"> * than epsilon. The first comparison is required when values are</span></div><div class="line"><a name="l20872"></a><span class="lineno">20872</span>&#160;<span class="comment"> * infinite, since Infinity - Infinity is NaN and NaN &lt; X is 0 for</span></div><div class="line"><a name="l20873"></a><span class="lineno">20873</span>&#160;<span class="comment"> * every X.</span></div><div class="line"><a name="l20874"></a><span class="lineno">20874</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l20875"></a><span class="lineno">20875</span>&#160;<span class="keywordflow">while</span> (looking != NULL) {</div><div class="line"><a name="l20876"></a><span class="lineno">20876</span>&#160;<span class="keywordflow">if</span> (looking-&gt;<a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> == value ||</div><div class="line"><a name="l20877"></a><span class="lineno">20877</span>&#160;<a class="code" href="cuddInt_8h.html#adaebebca92b84664b62c0f962d0aa3d5">ddEqualVal</a>(looking-&gt;<a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a>,value,unique-&gt;<a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>)) {</div><div class="line"><a name="l20878"></a><span class="lineno">20878</span>&#160;<span class="keywordflow">if</span> (looking-&gt;<a class="code" href="structDdNode.html#a530470565dbead9303a714e120c35b70">ref</a> == 0) {</div><div class="line"><a name="l20879"></a><span class="lineno">20879</span>&#160;<a class="code" href="cuddInt_8c.html#acc19dbda07ed77727cd149f7aeb2527b">cuddReclaim</a>(unique,looking);</div><div class="line"><a name="l20880"></a><span class="lineno">20880</span>&#160;}</div><div class="line"><a name="l20881"></a><span class="lineno">20881</span>&#160;<span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20882"></a><span class="lineno">20882</span>&#160;}</div><div class="line"><a name="l20883"></a><span class="lineno">20883</span>&#160;looking = looking-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20884"></a><span class="lineno">20884</span>&#160;<span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20885"></a><span class="lineno">20885</span>&#160;unique-&gt;uniqueLinks++;</div><div class="line"><a name="l20886"></a><span class="lineno">20886</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20887"></a><span class="lineno">20887</span>&#160;}</div><div class="line"><a name="l20888"></a><span class="lineno">20888</span>&#160;</div><div class="line"><a name="l20889"></a><span class="lineno">20889</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#afaedd101dfa7b7e2cb11614647ec37b2">keys</a>++;</div><div class="line"><a name="l20890"></a><span class="lineno">20890</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>++;</div><div class="line"><a name="l20891"></a><span class="lineno">20891</span>&#160;</div><div class="line"><a name="l20892"></a><span class="lineno">20892</span>&#160;looking = <a class="code" href="cuddInt_8c.html#aeab770a8c957379ede9ec8edd1dd696a">cuddAllocNode</a>(unique);</div><div class="line"><a name="l20893"></a><span class="lineno">20893</span>&#160;<span class="keywordflow">if</span> (looking == NULL) <span class="keywordflow">return</span>(NULL);</div><div class="line"><a name="l20894"></a><span class="lineno">20894</span>&#160;looking-&gt;<a class="code" href="structDdNode.html#abbd39b25b9abe4b4d53cd267a4103bda">index</a> = <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>;</div><div class="line"><a name="l20895"></a><span class="lineno">20895</span>&#160;looking-&gt;<a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> = value;</div><div class="line"><a name="l20896"></a><span class="lineno">20896</span>&#160;looking-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l20897"></a><span class="lineno">20897</span>&#160;nodelist[pos] = looking;</div><div class="line"><a name="l20898"></a><span class="lineno">20898</span>&#160;</div><div class="line"><a name="l20899"></a><span class="lineno">20899</span>&#160;<span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20900"></a><span class="lineno">20900</span>&#160;</div><div class="line"><a name="l20901"></a><span class="lineno">20901</span>&#160;} <span class="comment">/* end of cuddUniqueConst */</span></div><div class="ttc" id="structDdNode_html_a530470565dbead9303a714e120c35b70"><div class="ttname"><a href="structDdNode.html#a530470565dbead9303a714e120c35b70">DdNode::ref</a></div><div class="ttdeci">DdHalfWord ref</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00274">cudd.h:274</a></div></div>
12688
+ <div class="fragment"><div class="line"><a name="l20840"></a><span class="lineno">20840</span>&#160;{</div><div class="line"><a name="l20841"></a><span class="lineno">20841</span>&#160;<span class="keywordtype">int</span> pos;</div><div class="line"><a name="l20842"></a><span class="lineno">20842</span>&#160;<a class="code" href="structDdNode.html">DdNodePtr</a> *nodelist;</div><div class="line"><a name="l20843"></a><span class="lineno">20843</span>&#160;<a class="code" href="structDdNode.html">DdNode</a> *looking;</div><div class="line"><a name="l20844"></a><span class="lineno">20844</span>&#160;<a class="code" href="unionhack.html">hack</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">split</a>;</div><div class="line"><a name="l20845"></a><span class="lineno">20845</span>&#160;</div><div class="line"><a name="l20846"></a><span class="lineno">20846</span>&#160;<span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20847"></a><span class="lineno">20847</span>&#160;unique-&gt;uniqueLookUps++;</div><div class="line"><a name="l20848"></a><span class="lineno">20848</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20849"></a><span class="lineno">20849</span>&#160;</div><div class="line"><a name="l20850"></a><span class="lineno">20850</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">maxKeys</a>) {</div><div class="line"><a name="l20851"></a><span class="lineno">20851</span>&#160;<span class="keywordflow">if</span> (unique-&gt;<a class="code" href="structDdManager.html#a9ea7f1aaa19f3621745b590b7dca4f26">gcEnabled</a> &amp;&amp; ((unique-&gt;<a class="code" href="structDdManager.html#a170c1cfcbbd9b83bb479fc85c177c52e">dead</a> &gt; unique-&gt;<a class="code" href="structDdManager.html#a6cd4e44cf6d9a86bf2f75c34c3e2254b">minDead</a>) ||</div><div class="line"><a name="l20852"></a><span class="lineno">20852</span>&#160;(10 * unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a5f391dd3334a05f5e753d7df4da807bc">dead</a> &gt; 9 * unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>))) { <span class="comment">/* too many dead */</span></div><div class="line"><a name="l20853"></a><span class="lineno">20853</span>&#160;(void) <a class="code" href="cuddInt_8c.html#a67e9deab5db86e16734a413ad199719c">cuddGarbageCollect</a>(unique,1);</div><div class="line"><a name="l20854"></a><span class="lineno">20854</span>&#160;} <span class="keywordflow">else</span> {</div><div class="line"><a name="l20855"></a><span class="lineno">20855</span>&#160;<a class="code" href="cuddInt_8c.html#a808cc83054e0925704d498f721605926">cuddRehash</a>(unique,<a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>);</div><div class="line"><a name="l20856"></a><span class="lineno">20856</span>&#160;}</div><div class="line"><a name="l20857"></a><span class="lineno">20857</span>&#160;}</div><div class="line"><a name="l20858"></a><span class="lineno">20858</span>&#160;</div><div class="line"><a name="l20859"></a><span class="lineno">20859</span>&#160;<a class="code" href="cuddInt_8h.html#a2ff323254eb979e424f99cbe8ef593fe">cuddAdjust</a>(value); <span class="comment">/* for the case of crippled infinities */</span></div><div class="line"><a name="l20860"></a><span class="lineno">20860</span>&#160;</div><div class="line"><a name="l20861"></a><span class="lineno">20861</span>&#160;<span class="keywordflow">if</span> (<a class="code" href="cuddInt_8h.html#aa2b85051644f4b773320ab64c0eae9c2">ddAbs</a>(value) &lt; unique-&gt;<a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>) {</div><div class="line"><a name="l20862"></a><span class="lineno">20862</span>&#160;value = 0.0;</div><div class="line"><a name="l20863"></a><span class="lineno">20863</span>&#160;}</div><div class="line"><a name="l20864"></a><span class="lineno">20864</span>&#160;split.<a class="code" href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">value</a> = value;</div><div class="line"><a name="l20865"></a><span class="lineno">20865</span>&#160;</div><div class="line"><a name="l20866"></a><span class="lineno">20866</span>&#160;pos = <a class="code" href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a>(split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[0], split.<a class="code" href="unionhack.html#ac9f31214d556c4a179ba01f23036bc91">bits</a>[1], unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#ae89bb40a595ce1eda70d63fd78b23865">shift</a>);</div><div class="line"><a name="l20867"></a><span class="lineno">20867</span>&#160;nodelist = unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">nodelist</a>;</div><div class="line"><a name="l20868"></a><span class="lineno">20868</span>&#160;looking = nodelist[pos];</div><div class="line"><a name="l20869"></a><span class="lineno">20869</span>&#160;</div><div class="line"><a name="l20870"></a><span class="lineno">20870</span>&#160;<span class="comment">/* Here we compare values both for equality and for difference less</span></div><div class="line"><a name="l20871"></a><span class="lineno">20871</span>&#160;<span class="comment"> * than epsilon. The first comparison is required when values are</span></div><div class="line"><a name="l20872"></a><span class="lineno">20872</span>&#160;<span class="comment"> * infinite, since Infinity - Infinity is NaN and NaN &lt; X is 0 for</span></div><div class="line"><a name="l20873"></a><span class="lineno">20873</span>&#160;<span class="comment"> * every X.</span></div><div class="line"><a name="l20874"></a><span class="lineno">20874</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l20875"></a><span class="lineno">20875</span>&#160;<span class="keywordflow">while</span> (looking != NULL) {</div><div class="line"><a name="l20876"></a><span class="lineno">20876</span>&#160;<span class="keywordflow">if</span> (looking-&gt;<a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> == value ||</div><div class="line"><a name="l20877"></a><span class="lineno">20877</span>&#160;<a class="code" href="cuddInt_8h.html#adaebebca92b84664b62c0f962d0aa3d5">ddEqualVal</a>(looking-&gt;<a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a>,value,unique-&gt;<a class="code" href="structDdManager.html#ad495ea9a4104c2be5b4ca850a1da8c28">epsilon</a>)) {</div><div class="line"><a name="l20878"></a><span class="lineno">20878</span>&#160;<span class="keywordflow">if</span> (looking-&gt;<a class="code" href="structDdNode.html#a530470565dbead9303a714e120c35b70">ref</a> == 0) {</div><div class="line"><a name="l20879"></a><span class="lineno">20879</span>&#160;<a class="code" href="cuddInt_8c.html#acc19dbda07ed77727cd149f7aeb2527b">cuddReclaim</a>(unique,looking);</div><div class="line"><a name="l20880"></a><span class="lineno">20880</span>&#160;}</div><div class="line"><a name="l20881"></a><span class="lineno">20881</span>&#160;<span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20882"></a><span class="lineno">20882</span>&#160;}</div><div class="line"><a name="l20883"></a><span class="lineno">20883</span>&#160;looking = looking-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a>;</div><div class="line"><a name="l20884"></a><span class="lineno">20884</span>&#160;<span class="preprocessor">#ifdef DD_UNIQUE_PROFILE</span></div><div class="line"><a name="l20885"></a><span class="lineno">20885</span>&#160;unique-&gt;uniqueLinks++;</div><div class="line"><a name="l20886"></a><span class="lineno">20886</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l20887"></a><span class="lineno">20887</span>&#160;}</div><div class="line"><a name="l20888"></a><span class="lineno">20888</span>&#160;</div><div class="line"><a name="l20889"></a><span class="lineno">20889</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#afaedd101dfa7b7e2cb11614647ec37b2">keys</a>++;</div><div class="line"><a name="l20890"></a><span class="lineno">20890</span>&#160;unique-&gt;<a class="code" href="structDdManager.html#aa8d293b6a4f69f6b4795e2fc24ede216">constants</a>.<a class="code" href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">keys</a>++;</div><div class="line"><a name="l20891"></a><span class="lineno">20891</span>&#160;</div><div class="line"><a name="l20892"></a><span class="lineno">20892</span>&#160;looking = <a class="code" href="cuddInt_8c.html#aeab770a8c957379ede9ec8edd1dd696a">cuddAllocNode</a>(unique);</div><div class="line"><a name="l20893"></a><span class="lineno">20893</span>&#160;<span class="keywordflow">if</span> (looking == NULL) <span class="keywordflow">return</span>(NULL);</div><div class="line"><a name="l20894"></a><span class="lineno">20894</span>&#160;looking-&gt;<a class="code" href="structDdNode.html#abbd39b25b9abe4b4d53cd267a4103bda">index</a> = <a class="code" href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a>;</div><div class="line"><a name="l20895"></a><span class="lineno">20895</span>&#160;looking-&gt;<a class="code" href="structDdNode.html#ac7e82d45498ac66d16e74db9a7971d9b">type</a>.<a class="code" href="structDdNode.html#a4daed26b440c68f410d46eb180a55abb">value</a> = value;</div><div class="line"><a name="l20896"></a><span class="lineno">20896</span>&#160;looking-&gt;<a class="code" href="structDdNode.html#a9422352d3b46de31b325d1cf18b9f25f">next</a> = nodelist[pos];</div><div class="line"><a name="l20897"></a><span class="lineno">20897</span>&#160;nodelist[pos] = looking;</div><div class="line"><a name="l20898"></a><span class="lineno">20898</span>&#160;</div><div class="line"><a name="l20899"></a><span class="lineno">20899</span>&#160;<span class="keywordflow">return</span>(looking);</div><div class="line"><a name="l20900"></a><span class="lineno">20900</span>&#160;</div><div class="line"><a name="l20901"></a><span class="lineno">20901</span>&#160;} <span class="comment">/* end of cuddUniqueConst */</span></div><div class="ttc" id="structDdNode_html_a530470565dbead9303a714e120c35b70"><div class="ttname"><a href="structDdNode.html#a530470565dbead9303a714e120c35b70">DdNode::ref</a></div><div class="ttdeci">DdHalfWord ref</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00274">cudd.h:274</a></div></div>
12688
12689
  <div class="ttc" id="structDdSubtable_html_aca2eea345c00c69090e701ffacff7de4"><div class="ttname"><a href="structDdSubtable.html#aca2eea345c00c69090e701ffacff7de4">DdSubtable::keys</a></div><div class="ttdeci">unsigned int keys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00327">cuddInt.h:327</a></div></div>
12689
12690
  <div class="ttc" id="cuddInt_8c_html_aeab770a8c957379ede9ec8edd1dd696a"><div class="ttname"><a href="cuddInt_8c.html#aeab770a8c957379ede9ec8edd1dd696a">cuddAllocNode</a></div><div class="ttdeci">DdNode * cuddAllocNode(DdManager *unique)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l19624">cuddInt.c:19624</a></div></div>
12690
12691
  <div class="ttc" id="cuddInt_8h_html_a04555d27c114939b7c4a37be638b7968"><div class="ttname"><a href="cuddInt_8h.html#a04555d27c114939b7c4a37be638b7968">ddHash</a></div><div class="ttdeci">#define ddHash(f, g, s)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00713">cuddInt.h:713</a></div></div>
@@ -12701,6 +12702,7 @@ Repeat 1-4 until no further improvement. </li>
12701
12702
  <div class="ttc" id="cuddInt_8h_html_aa2b85051644f4b773320ab64c0eae9c2"><div class="ttname"><a href="cuddInt_8h.html#aa2b85051644f4b773320ab64c0eae9c2">ddAbs</a></div><div class="ttdeci">#define ddAbs(x)</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00816">cuddInt.h:816</a></div></div>
12702
12703
  <div class="ttc" id="structDdSubtable_html_a2997673187c40bc7d7977a2581581420"><div class="ttname"><a href="structDdSubtable.html#a2997673187c40bc7d7977a2581581420">DdSubtable::maxKeys</a></div><div class="ttdeci">unsigned int maxKeys</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00328">cuddInt.h:328</a></div></div>
12703
12704
  <div class="ttc" id="structDdManager_html_a9ea7f1aaa19f3621745b590b7dca4f26"><div class="ttname"><a href="structDdManager.html#a9ea7f1aaa19f3621745b590b7dca4f26">DdManager::gcEnabled</a></div><div class="ttdeci">int gcEnabled</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00374">cuddInt.h:374</a></div></div>
12705
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af54e70082388bbd70868250aaa0bc86b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">SVF::SVFUtil::split</a></div><div class="ttdeci">std::vector&lt; std::string &gt; split(const std::string &amp;s, char seperator)</div><div class="ttdoc">Split into two substrings around the first occurrence of a separator string. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00243">SVFUtil.h:243</a></div></div>
12704
12706
  <div class="ttc" id="cudd_8h_html_aa097684bc69c58891332b245d577b986"><div class="ttname"><a href="cudd_8h.html#aa097684bc69c58891332b245d577b986">CUDD_CONST_INDEX</a></div><div class="ttdeci">#define CUDD_CONST_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="cudd_8h_source.html#l00107">cudd.h:107</a></div></div>
12705
12707
  <div class="ttc" id="structDdSubtable_html_a1226ea7ecfb6d6b56269cb518ac5e2d7"><div class="ttname"><a href="structDdSubtable.html#a1226ea7ecfb6d6b56269cb518ac5e2d7">DdSubtable::nodelist</a></div><div class="ttdeci">DdNode ** nodelist</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8h_source.html#l00324">cuddInt.h:324</a></div></div>
12706
12708
  <div class="ttc" id="unionhack_html_a57925aea3fe6bc712a7d34f05e3c31f4"><div class="ttname"><a href="unionhack.html#a57925aea3fe6bc712a7d34f05e3c31f4">hack::value</a></div><div class="ttdeci">CUDD_VALUE_TYPE value</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l19538">cuddInt.c:19538</a></div></div>