svf-tools 1.0.897 → 1.0.899
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/AbstractExecution_8cpp.html +1 -1
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1638 -1659
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +49 -49
- package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8h_source.html +2 -2
- package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
- package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
- package/SVF-doxygen/html/Andersen_8h_source.html +3 -3
- package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +4 -4
- package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +400 -380
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +29 -28
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CDG_8h_source.html +2 -2
- package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/CFGrammar_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFGrammar_8h_source.html +3 -3
- package/SVF-doxygen/html/CFLAlias_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/ConditionalPT_8h_source.html +3 -3
- package/SVF-doxygen/html/ConsExeState_8cpp_source.html +6 -6
- package/SVF-doxygen/html/ConsExeState_8h_source.html +6 -6
- package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
- package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/DPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8h_source.html +2 -2
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/GeneralType_8h.html +8 -0
- package/SVF-doxygen/html/GeneralType_8h_source.html +110 -102
- package/SVF-doxygen/html/GenericGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IntervalExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/IntervalValue_8h_source.html +863 -802
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +335 -316
- package/SVF-doxygen/html/LLVMModule_8h_source.html +11 -11
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/MHP_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MHP_8h_source.html +3 -3
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +4 -4
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +4 -4
- package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
- package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/NumericLiteral_8h_source.html +465 -424
- package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ObjTypeInference_8h_source.html +2 -2
- package/SVF-doxygen/html/Options_8cpp_source.html +10 -1
- package/SVF-doxygen/html/Options_8h_source.html +8 -4
- package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +195 -137
- package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PTACallGraph_8h_source.html +4 -4
- package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +2 -2
- package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8h_source.html +2 -2
- package/SVF-doxygen/html/RelExeState_8cpp_source.html +5 -5
- package/SVF-doxygen/html/RelExeState_8h_source.html +6 -6
- package/SVF-doxygen/html/RelationSolver_8cpp.html +2 -0
- package/SVF-doxygen/html/RelationSolver_8cpp_source.html +386 -378
- package/SVF-doxygen/html/RelationSolver_8h_source.html +11 -11
- package/SVF-doxygen/html/SCC_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFBugReport_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1937 -1934
- package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +59 -59
- package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFG_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1101 -886
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +173 -154
- package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +172 -121
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +24 -22
- package/SVF-doxygen/html/SVFIR_8h_source.html +55 -53
- package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
- package/SVF-doxygen/html/SVFStatements_8h_source.html +979 -955
- package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8h_source.html +4 -4
- package/SVF-doxygen/html/SVFUtil_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +8 -8
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/SingleAbsValue_8h_source.html +6 -6
- package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
- package/SVF-doxygen/html/SymState_8h_source.html +2 -2
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +4 -4
- package/SVF-doxygen/html/TCT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/VFGNode_8h_source.html +12 -12
- package/SVF-doxygen/html/VFG_8cpp_source.html +18 -18
- package/SVF-doxygen/html/VFG_8h_source.html +17 -17
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/WPASolver_8h_source.html +2 -2
- package/SVF-doxygen/html/WTO_8h_source.html +2 -2
- package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
- package/SVF-doxygen/html/Z3Expr_8cpp_source.html +5 -5
- package/SVF-doxygen/html/Z3Expr_8h_source.html +303 -294
- package/SVF-doxygen/html/ae_8cpp_source.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1AEStat.html +119 -119
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +1517 -1538
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
- package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr-members.html +77 -72
- package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +450 -294
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +48 -33
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +206 -65
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ExeState.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GenericGraphReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
- package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFGWriter.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +40 -35
- package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +512 -307
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +331 -312
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NumericLiteral-members.html +50 -43
- package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +574 -343
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1Options-members.html +129 -128
- package/SVF-doxygen/html/classSVF_1_1Options.html +26 -0
- package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +204 -135
- package/SVF-doxygen/html/classSVF_1_1PCG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PTAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1RelExeState.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +362 -358
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +32 -25
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +49 -40
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1346 -909
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder-members.html +62 -61
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +211 -131
- package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1122 -1121
- package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +429 -427
- package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFModuleReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFModuleWriter.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1SingleAbsValue-members.html +96 -91
- package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +19 -5
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
- package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
- package/SVF-doxygen/html/classSVF_1_1VFG.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Z3Expr-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +227 -221
- package/SVF-doxygen/html/classSymblicAbstractionTest.html +6 -6
- package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
- package/SVF-doxygen/html/functions_a.html +11 -8
- package/SVF-doxygen/html/functions_b.html +8 -5
- package/SVF-doxygen/html/functions_c.html +23 -14
- package/SVF-doxygen/html/functions_e.html +1 -1
- package/SVF-doxygen/html/functions_enum.html +3 -0
- package/SVF-doxygen/html/functions_eval_b.html +3 -0
- package/SVF-doxygen/html/functions_eval_c.html +3 -0
- package/SVF-doxygen/html/functions_eval_f.html +9 -0
- package/SVF-doxygen/html/functions_eval_i.html +3 -0
- package/SVF-doxygen/html/functions_eval_p.html +3 -0
- package/SVF-doxygen/html/functions_eval_s.html +6 -0
- package/SVF-doxygen/html/functions_eval_t.html +3 -0
- package/SVF-doxygen/html/functions_eval_u.html +3 -0
- package/SVF-doxygen/html/functions_eval_z.html +79 -0
- package/SVF-doxygen/html/functions_f.html +21 -12
- package/SVF-doxygen/html/functions_func.html +2 -2
- package/SVF-doxygen/html/functions_func_b.html +3 -3
- package/SVF-doxygen/html/functions_func_g.html +47 -12
- package/SVF-doxygen/html/functions_func_i.html +19 -9
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_func_z.html +1 -1
- package/SVF-doxygen/html/functions_g.html +54 -19
- package/SVF-doxygen/html/functions_i.html +18 -5
- package/SVF-doxygen/html/functions_l.html +3 -3
- package/SVF-doxygen/html/functions_o.html +15 -15
- package/SVF-doxygen/html/functions_p.html +28 -29
- package/SVF-doxygen/html/functions_r.html +1 -1
- package/SVF-doxygen/html/functions_s.html +24 -16
- package/SVF-doxygen/html/functions_t.html +7 -4
- package/SVF-doxygen/html/functions_u.html +6 -3
- package/SVF-doxygen/html/functions_v.html +4 -6
- package/SVF-doxygen/html/functions_vars_a.html +3 -0
- package/SVF-doxygen/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/functions_w.html +13 -7
- package/SVF-doxygen/html/functions_z.html +4 -1
- package/SVF-doxygen/html/menudata.js +2 -1
- package/SVF-doxygen/html/namespaceSVF.html +689 -617
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +1 -1
- package/SVF-doxygen/html/namespacemembers_s.html +6 -0
- package/SVF-doxygen/html/namespacemembers_type_s.html +6 -0
- package/SVF-doxygen/html/namespacemembers_type_u.html +6 -0
- package/SVF-doxygen/html/namespacemembers_u.html +6 -0
- package/SVF-doxygen/html/search/all_1.js +135 -134
- package/SVF-doxygen/html/search/all_10.js +326 -325
- package/SVF-doxygen/html/search/all_11.js +226 -226
- package/SVF-doxygen/html/search/all_12.js +574 -570
- package/SVF-doxygen/html/search/all_13.js +208 -207
- package/SVF-doxygen/html/search/all_14.js +73 -70
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +77 -77
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +27 -26
- package/SVF-doxygen/html/search/all_1a.js +179 -179
- package/SVF-doxygen/html/search/all_2.js +182 -181
- package/SVF-doxygen/html/search/all_3.js +642 -640
- package/SVF-doxygen/html/search/all_4.js +236 -236
- package/SVF-doxygen/html/search/all_5.js +126 -126
- package/SVF-doxygen/html/search/all_6.js +235 -232
- package/SVF-doxygen/html/search/all_7.js +1056 -1047
- package/SVF-doxygen/html/search/all_8.js +215 -215
- package/SVF-doxygen/html/search/all_9.js +632 -629
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +204 -204
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +122 -122
- package/SVF-doxygen/html/search/classes_0.js +28 -28
- package/SVF-doxygen/html/search/classes_1.js +11 -11
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +19 -19
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +73 -73
- package/SVF-doxygen/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +59 -59
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +19 -19
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +3 -3
- package/SVF-doxygen/html/search/defines_10.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +9 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +16 -15
- package/SVF-doxygen/html/search/enumvalues_10.js +36 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +5 -4
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +4 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +37 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +50 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +24 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +19 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +49 -47
- package/SVF-doxygen/html/search/files_0.js +16 -16
- package/SVF-doxygen/html/search/files_1.js +9 -9
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +53 -53
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +10 -10
- package/SVF-doxygen/html/search/files_7.js +17 -17
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +4 -4
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +368 -368
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +140 -140
- package/SVF-doxygen/html/search/functions_12.js +299 -299
- package/SVF-doxygen/html/search/functions_13.js +73 -73
- package/SVF-doxygen/html/search/functions_14.js +41 -41
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +179 -179
- package/SVF-doxygen/html/search/functions_2.js +94 -94
- package/SVF-doxygen/html/search/functions_3.js +261 -261
- package/SVF-doxygen/html/search/functions_4.js +85 -85
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +872 -863
- package/SVF-doxygen/html/search/functions_8.js +162 -162
- package/SVF-doxygen/html/search/functions_9.js +440 -438
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +82 -82
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +4 -4
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +5 -5
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +65 -63
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +13 -11
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +125 -125
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +54 -54
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +177 -177
- package/SVF-doxygen/html/search/variables_1.js +77 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +40 -40
- package/SVF-doxygen/html/search/variables_3.js +143 -142
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +8 -8
- package/SVF-doxygen/html/search/variables_9.js +79 -79
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1Hash.html +6 -6
- package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +12 -12
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +6 -6
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +5 -5
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SingleAbsValue_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +6 -6
- package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +21 -21
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +21 -21
- package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +3 -3
- package/package.json +1 -1
- package/svf/include/AE/Core/BoundedZ3Expr.h +33 -20
- package/svf/include/AE/Core/IntervalValue.h +57 -5
- package/svf/include/AE/Core/NumericLiteral.h +31 -1
- package/svf/include/AE/Core/RelationSolver.h +1 -1
- package/svf/include/AE/Svfexe/SVFIR2ItvExeState.h +10 -0
- package/svf/include/SVFIR/SVFIR.h +2 -1
- package/svf/include/SVFIR/SVFStatements.h +12 -2
- package/svf/include/Util/GeneralType.h +4 -0
- package/svf/include/Util/Options.h +3 -0
- package/svf/include/Util/Z3Expr.h +9 -2
- package/svf/lib/AE/Core/RelationSolver.cpp +11 -6
- package/svf/lib/AE/Svfexe/AbstractExecution.cpp +13 -34
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +6 -6
- package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +217 -23
- package/svf/lib/SVFIR/PAGBuilderFromFile.cpp +62 -3
- package/svf/lib/SVFIR/SVFFileSystem.cpp +4 -1
- package/svf/lib/SVFIR/SVFIR.cpp +3 -3
- package/svf/lib/Util/Options.cpp +8 -0
- package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +39 -3
- package/svf-llvm/lib/LLVMModule.cpp +21 -2
- package/svf-llvm/lib/SVFIRBuilder.cpp +7 -7
- package/svf-llvm/lib/SVFIRExtAPI.cpp +3 -3
|
@@ -163,7 +163,7 @@ $(function() {
|
|
|
163
163
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div>
|
|
164
164
|
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3ac170a902accf8d84b6b77ab88a8fd3"> 102</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a3ac170a902accf8d84b6b77ab88a8fd3">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
|
|
165
165
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div>
|
|
166
|
-
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b"> 104</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">
|
|
166
|
+
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b"> 104</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>(<a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a>::<a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">IntervalK</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>), <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
|
|
167
167
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  </div>
|
|
168
168
|
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa339a88f42bea8c1adfe0db8ba3a5d2a"> 106</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa339a88f42bea8c1adfe0db8ba3a5d2a">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) {}</div>
|
|
169
169
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div>
|
|
@@ -172,544 +172,544 @@ $(function() {
|
|
|
172
172
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  </div>
|
|
173
173
|
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490"> 112</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
|
|
174
174
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
|
|
175
|
-
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5"> 114</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(
|
|
175
|
+
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5"> 114</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">IntervalValue</a>(<span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
|
|
176
176
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
|
|
177
|
-
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#
|
|
177
|
+
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852"> 116</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852">IntervalValue</a>(<span class="keywordtype">float</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keywordtype">float</span> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>), <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a>(<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)) {}</div>
|
|
178
178
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div>
|
|
179
|
-
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#
|
|
179
|
+
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c"> 118</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
|
|
180
180
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div>
|
|
181
|
-
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#
|
|
181
|
+
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905"> 120</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">IntervalValue</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
|
|
182
182
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
|
|
183
|
-
<div class="line"><a name="
|
|
184
|
-
<div class="line"><a name="
|
|
185
|
-
<div class="line"><a name="
|
|
186
|
-
<div class="line"><a name="
|
|
187
|
-
<div class="line"><a name="
|
|
188
|
-
<div class="line"><a name="
|
|
189
|
-
<div class="line"><a name="
|
|
190
|
-
<div class="line"><a name="
|
|
191
|
-
<div class="line"><a name="
|
|
192
|
-
<div class="line"><a name="
|
|
193
|
-
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> 
|
|
194
|
-
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 
|
|
195
|
-
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 
|
|
196
|
-
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 
|
|
197
|
-
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 
|
|
198
|
-
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 
|
|
199
|
-
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 
|
|
200
|
-
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 
|
|
201
|
-
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 
|
|
202
|
-
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> 
|
|
203
|
-
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 
|
|
204
|
-
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> 
|
|
205
|
-
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> 
|
|
206
|
-
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> 
|
|
207
|
-
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 
|
|
208
|
-
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> 
|
|
209
|
-
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 
|
|
210
|
-
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> 
|
|
211
|
-
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <
|
|
212
|
-
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> 
|
|
213
|
-
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 
|
|
214
|
-
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> 
|
|
215
|
-
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> 
|
|
216
|
-
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> 
|
|
217
|
-
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> 
|
|
218
|
-
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> 
|
|
219
|
-
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> 
|
|
220
|
-
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> 
|
|
221
|
-
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> 
|
|
222
|
-
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> 
|
|
223
|
-
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> 
|
|
224
|
-
<div class="line"><a name="
|
|
225
|
-
<div class="line"><a name="
|
|
226
|
-
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> 
|
|
227
|
-
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> 
|
|
228
|
-
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> 
|
|
229
|
-
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> 
|
|
230
|
-
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> 
|
|
231
|
-
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> 
|
|
232
|
-
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> 
|
|
233
|
-
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> 
|
|
234
|
-
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 
|
|
235
|
-
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> 
|
|
236
|
-
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> 
|
|
237
|
-
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> 
|
|
238
|
-
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 
|
|
239
|
-
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> 
|
|
240
|
-
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> 
|
|
241
|
-
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 
|
|
242
|
-
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
|
|
243
|
-
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> 
|
|
244
|
-
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <
|
|
245
|
-
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 
|
|
246
|
-
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> 
|
|
247
|
-
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 
|
|
248
|
-
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> 
|
|
249
|
-
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> 
|
|
250
|
-
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> 
|
|
251
|
-
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> 
|
|
252
|
-
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> 
|
|
253
|
-
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 
|
|
254
|
-
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 
|
|
255
|
-
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> 
|
|
256
|
-
<div class="line"><a name="
|
|
257
|
-
<div class="line"><a name="
|
|
183
|
+
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65"> 122</a></span>  <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">IntervalValue</a>(<a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>) {}</div>
|
|
184
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  </div>
|
|
185
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &) = <span class="keywordflow">default</span>;</div>
|
|
186
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div>
|
|
187
|
+
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &&) = <span class="keywordflow">default</span>;</div>
|
|
188
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div>
|
|
189
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &<a class="code" href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &<a class="code" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a>) = <span class="keywordflow">default</span>;</div>
|
|
190
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
|
|
191
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &<a class="code" href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">operator=</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &&) = <span class="keywordflow">default</span>;</div>
|
|
192
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  </div>
|
|
193
|
+
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171"> 137</a></span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)<span class="keyword"> const</span></div>
|
|
194
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword"> </span>{</div>
|
|
195
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
196
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div>
|
|
197
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">bottom</a>();</div>
|
|
198
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div>
|
|
199
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
200
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div>
|
|
201
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>();</div>
|
|
202
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div>
|
|
203
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">else</span></div>
|
|
204
|
+
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div>
|
|
205
|
+
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && other.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
206
|
+
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div>
|
|
207
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> eq(this->_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) ? <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0);</div>
|
|
208
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
|
209
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">else</span></div>
|
|
210
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div>
|
|
211
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> value = *<span class="keyword">this</span>;</div>
|
|
212
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  value.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(other);</div>
|
|
213
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span> (value.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
214
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  {</div>
|
|
215
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0);</div>
|
|
216
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div>
|
|
217
|
+
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">else</span></div>
|
|
218
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  {</div>
|
|
219
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="comment">// return top();</span></div>
|
|
220
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 1);</div>
|
|
221
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div>
|
|
222
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div>
|
|
223
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  }</div>
|
|
224
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div>
|
|
225
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
|
|
226
|
+
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9"> 171</a></span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)<span class="keyword"> const</span></div>
|
|
227
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword"> </span>{</div>
|
|
228
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
229
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  {</div>
|
|
230
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">bottom</a>();</div>
|
|
231
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div>
|
|
232
|
+
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
233
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div>
|
|
234
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">top</a>();</div>
|
|
235
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div>
|
|
236
|
+
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">else</span></div>
|
|
237
|
+
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div>
|
|
238
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && other.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
239
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div>
|
|
240
|
+
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> eq(this->_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) ? <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1);</div>
|
|
241
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  }</div>
|
|
242
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">else</span></div>
|
|
243
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  {</div>
|
|
244
|
+
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> value = *<span class="keyword">this</span>;</div>
|
|
245
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  value.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(other);</div>
|
|
246
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">if</span> (!value.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
247
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div>
|
|
248
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(0, 1);</div>
|
|
249
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div>
|
|
250
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">else</span></div>
|
|
251
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  {</div>
|
|
252
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">IntervalValue</a>(1, 1);</div>
|
|
253
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div>
|
|
254
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div>
|
|
255
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  }</div>
|
|
256
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  }</div>
|
|
257
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  </div>
|
|
258
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="classSVF_1_1IntervalValue.html#afcd424e419fe66750c47df21774bb22c">~IntervalValue</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div>
|
|
258
259
|
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  </div>
|
|
259
|
-
<div class="line"><a name="
|
|
260
|
-
<div class="line"><a name="
|
|
261
|
-
<div class="line"><a name="
|
|
262
|
-
<div class="line"><a name="
|
|
263
|
-
<div class="line"><a name="
|
|
264
|
-
<div class="line"><a name="
|
|
265
|
-
<div class="line"><a name="
|
|
266
|
-
<div class="line"><a name="
|
|
267
|
-
<div class="line"><a name="
|
|
268
|
-
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
|
|
269
|
-
<div class="line"><a name="l00218"></a><span class="lineno"
|
|
270
|
-
<div class="line"><a name="
|
|
271
|
-
<div class="line"><a name="
|
|
272
|
-
<div class="line"><a name="
|
|
273
|
-
<div class="line"><a name="
|
|
274
|
-
<div class="line"><a name="
|
|
275
|
-
<div class="line"><a name="l00225"></a><span class="lineno"
|
|
276
|
-
<div class="line"><a name="
|
|
277
|
-
<div class="line"><a name="
|
|
278
|
-
<div class="line"><a name="
|
|
279
|
-
<div class="line"><a name="
|
|
280
|
-
<div class="line"><a name="
|
|
281
|
-
<div class="line"><a name="l00232"></a><span class="lineno"
|
|
282
|
-
<div class="line"><a name="
|
|
283
|
-
<div class="line"><a name="
|
|
284
|
-
<div class="line"><a name="
|
|
285
|
-
<div class="line"><a name="
|
|
286
|
-
<div class="line"><a name="l00238"></a><span class="lineno"
|
|
287
|
-
<div class="line"><a name="
|
|
288
|
-
<div class="line"><a name="
|
|
289
|
-
<div class="line"><a name="
|
|
290
|
-
<div class="line"><a name="
|
|
291
|
-
<div class="line"><a name="l00244"></a><span class="lineno"
|
|
292
|
-
<div class="line"><a name="
|
|
293
|
-
<div class="line"><a name="
|
|
294
|
-
<div class="line"><a name="
|
|
295
|
-
<div class="line"><a name="
|
|
296
|
-
<div class="line"><a name="
|
|
297
|
-
<div class="line"><a name="l00251"></a><span class="lineno"
|
|
298
|
-
<div class="line"><a name="
|
|
299
|
-
<div class="line"><a name="
|
|
300
|
-
<div class="line"><a name="
|
|
301
|
-
<div class="line"><a name="
|
|
302
|
-
<div class="line"><a name="l00257"></a><span class="lineno"
|
|
303
|
-
<div class="line"><a name="
|
|
304
|
-
<div class="line"><a name="
|
|
305
|
-
<div class="line"><a name="
|
|
306
|
-
<div class="line"><a name="
|
|
307
|
-
<div class="line"><a name="l00263"></a><span class="lineno"
|
|
308
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
309
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 
|
|
310
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="
|
|
311
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> 
|
|
312
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
313
|
-
<div class="line"><a name="
|
|
314
|
-
<div class="line"><a name="
|
|
315
|
-
<div class="line"><a name="
|
|
316
|
-
<div class="line"><a name="
|
|
317
|
-
<div class="line"><a name="
|
|
318
|
-
<div class="line"><a name="
|
|
319
|
-
<div class="line"><a name="
|
|
320
|
-
<div class="line"><a name="
|
|
321
|
-
<div class="line"><a name="
|
|
322
|
-
<div class="line"><a name="
|
|
323
|
-
<div class="line"><a name="
|
|
324
|
-
<div class="line"><a name="
|
|
325
|
-
<div class="line"><a name="
|
|
326
|
-
<div class="line"><a name="
|
|
327
|
-
<div class="line"><a name="
|
|
328
|
-
<div class="line"><a name="
|
|
329
|
-
<div class="line"><a name="
|
|
330
|
-
<div class="line"><a name="
|
|
331
|
-
<div class="line"><a name="
|
|
332
|
-
<div class="line"><a name="
|
|
333
|
-
<div class="line"><a name="
|
|
334
|
-
<div class="line"><a name="
|
|
335
|
-
<div class="line"><a name="
|
|
336
|
-
<div class="line"><a name="
|
|
337
|
-
<div class="line"><a name="
|
|
338
|
-
<div class="line"><a name="
|
|
339
|
-
<div class="line"><a name="
|
|
340
|
-
<div class="line"><a name="
|
|
341
|
-
<div class="line"><a name="
|
|
342
|
-
<div class="line"><a name="
|
|
343
|
-
<div class="line"><a name="
|
|
260
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  </div>
|
|
261
|
+
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a101633c38e284f6e2bcad852daa3baae"> 208</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a101633c38e284f6e2bcad852daa3baae">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> *)</div>
|
|
262
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  {</div>
|
|
263
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
264
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  }</div>
|
|
265
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  </div>
|
|
266
|
+
<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a"> 213</a></span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AbstractValue.html">AbstractValue</a> *v)</div>
|
|
267
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div>
|
|
268
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> v-><a class="code" href="classSVF_1_1AbstractValue.html#a74bc740e894dfbdb2253bedc2851dd2e">getAbstractValueKind</a>() == <a class="code" href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">AbstractValue::IntervalK</a>;</div>
|
|
269
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div>
|
|
270
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div>
|
|
271
|
+
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264"> 220</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()<span class="keyword"> const</span></div>
|
|
272
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="keyword"> </span>{</div>
|
|
273
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  assert(!this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>());</div>
|
|
274
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
|
|
275
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div>
|
|
276
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  </div>
|
|
277
|
+
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9"> 227</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()<span class="keyword"> const</span></div>
|
|
278
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="keyword"> </span>{</div>
|
|
279
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  assert(!this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>());</div>
|
|
280
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
|
|
281
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div>
|
|
282
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div>
|
|
283
|
+
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d"> 234</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">setLb</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>)</div>
|
|
284
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div>
|
|
285
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  this->_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>;</div>
|
|
286
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div>
|
|
287
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  </div>
|
|
288
|
+
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b"> 240</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">setUb</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)</div>
|
|
289
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div>
|
|
290
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  this->_ub = <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>;</div>
|
|
291
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div>
|
|
292
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div>
|
|
293
|
+
<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a"> 246</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">setValue</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> &<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>)</div>
|
|
294
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div>
|
|
295
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  this->_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>;</div>
|
|
296
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  this->_ub = <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>;</div>
|
|
297
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div>
|
|
298
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  </div>
|
|
299
|
+
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa"> 253</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>()<span class="keyword"> const</span></div>
|
|
300
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword"> </span>{</div>
|
|
301
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">is_zero</a>() && <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">is_zero</a>();</div>
|
|
302
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  }</div>
|
|
303
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  </div>
|
|
304
|
+
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a"> 259</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>()<span class="keyword"> const</span></div>
|
|
305
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword"> </span>{</div>
|
|
306
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() || <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>();</div>
|
|
307
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  }</div>
|
|
308
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  </div>
|
|
309
|
+
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536"> 264</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>()<span class="keyword"> const</span></div>
|
|
310
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keyword"> </span>{</div>
|
|
311
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordtype">bool</span> lb_int = <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
|
|
312
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordtype">bool</span> ub_int = <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
|
|
313
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  assert (lb_int == ub_int && <span class="stringliteral">"lb and ub should be both int or both float"</span>);</div>
|
|
314
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">is_int</a>();</div>
|
|
315
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div>
|
|
316
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  </div>
|
|
317
|
+
<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6"> 272</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>()<span class="keyword"> const</span></div>
|
|
318
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword"> </span>{</div>
|
|
319
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordtype">bool</span> lb_real = <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
|
|
320
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordtype">bool</span> ub_real = <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
|
|
321
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  assert (lb_real == ub_real && <span class="stringliteral">"lb and ub should be both real or both int"</span>);</div>
|
|
322
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">is_real</a>();</div>
|
|
323
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div>
|
|
324
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  </div>
|
|
325
|
+
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9"> 281</a></span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">getNumeral</a>()<span class="keyword"> const</span></div>
|
|
326
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword"> </span>{</div>
|
|
327
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && <span class="stringliteral">"this IntervalValue is not numeral"</span>);</div>
|
|
328
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
|
|
329
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div>
|
|
330
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div>
|
|
331
|
+
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3"> 287</a></span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3">getIntNumeral</a>()<span class="keyword"> const</span></div>
|
|
332
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keyword"> </span>{</div>
|
|
333
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && <span class="stringliteral">"this IntervalValue is not numeral"</span>);</div>
|
|
334
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
|
|
335
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div>
|
|
336
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  </div>
|
|
337
|
+
<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293"> 293</a></span>  <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293">getRealNumeral</a>()<span class="keyword"> const</span></div>
|
|
338
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword"> </span>{</div>
|
|
339
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  assert(<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && <span class="stringliteral">"this IntervalValue is not numeral"</span>);</div>
|
|
340
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
|
|
341
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div>
|
|
342
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  </div>
|
|
343
|
+
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0"> 300</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>()<span class="keyword"> const</span></div>
|
|
344
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword"> </span>{</div>
|
|
345
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> eq(<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>, <a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
|
|
346
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  }</div>
|
|
344
347
|
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  </div>
|
|
345
|
-
<div class="line"><a name="
|
|
346
|
-
<div class="line"><a name="
|
|
347
|
-
<div class="line"><a name="l00308"></a><span class="lineno"
|
|
348
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> 
|
|
349
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
350
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
351
|
-
<div class="line"><a name="
|
|
352
|
-
<div class="line"><a name="
|
|
353
|
-
<div class="line"><a name="
|
|
354
|
-
<div class="line"><a name="
|
|
355
|
-
<div class="line"><a name="
|
|
356
|
-
<div class="line"><a name="
|
|
357
|
-
<div class="line"><a name="
|
|
358
|
-
<div class="line"><a name="
|
|
359
|
-
<div class="line"><a name="
|
|
360
|
-
<div class="line"><a name="
|
|
361
|
-
<div class="line"><a name="
|
|
362
|
-
<div class="line"><a name="
|
|
363
|
-
<div class="line"><a name="
|
|
364
|
-
<div class="line"><a name="
|
|
365
|
-
<div class="line"><a name="
|
|
366
|
-
<div class="line"><a name="
|
|
367
|
-
<div class="line"><a name="
|
|
368
|
-
<div class="line"><a name="
|
|
369
|
-
<div class="line"><a name="
|
|
370
|
-
<div class="line"><a name="
|
|
371
|
-
<div class="line"><a name="
|
|
372
|
-
<div class="line"><a name="
|
|
373
|
-
<div class="line"><a name="
|
|
374
|
-
<div class="line"><a name="
|
|
375
|
-
<div class="line"><a name="
|
|
376
|
-
<div class="line"><a name="
|
|
377
|
-
<div class="line"><a name="
|
|
378
|
-
<div class="line"><a name="
|
|
379
|
-
<div class="line"><a name="
|
|
380
|
-
<div class="line"><a name="
|
|
381
|
-
<div class="line"><a name="
|
|
382
|
-
<div class="line"><a name="
|
|
383
|
-
<div class="line"><a name="
|
|
384
|
-
<div class="line"><a name="
|
|
385
|
-
<div class="line"><a name="
|
|
386
|
-
<div class="line"><a name="
|
|
387
|
-
<div class="line"><a name="
|
|
388
|
-
<div class="line"><a name="
|
|
389
|
-
<div class="line"><a name="
|
|
390
|
-
<div class="line"><a name="
|
|
391
|
-
<div class="line"><a name="
|
|
392
|
-
<div class="line"><a name="
|
|
393
|
-
<div class="line"><a name="
|
|
394
|
-
<div class="line"><a name="
|
|
395
|
-
<div class="line"><a name="
|
|
396
|
-
<div class="line"><a name="
|
|
397
|
-
<div class="line"><a name="
|
|
398
|
-
<div class="line"><a name="
|
|
399
|
-
<div class="line"><a name="
|
|
400
|
-
<div class="line"><a name="
|
|
401
|
-
<div class="line"><a name="
|
|
402
|
-
<div class="line"><a name="
|
|
403
|
-
<div class="line"><a name="
|
|
404
|
-
<div class="line"><a name="
|
|
405
|
-
<div class="line"><a name="
|
|
406
|
-
<div class="line"><a name="
|
|
407
|
-
<div class="line"><a name="
|
|
408
|
-
<div class="line"><a name="
|
|
409
|
-
<div class="line"><a name="
|
|
410
|
-
<div class="line"><a name="
|
|
411
|
-
<div class="line"><a name="
|
|
412
|
-
<div class="line"><a name="
|
|
413
|
-
<div class="line"><a name="
|
|
414
|
-
<div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="
|
|
418
|
-
<div class="line"><a name="
|
|
419
|
-
<div class="line"><a name="
|
|
420
|
-
<div class="line"><a name="
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="
|
|
423
|
-
<div class="line"><a name="
|
|
424
|
-
<div class="line"><a name="
|
|
425
|
-
<div class="line"><a name="l00390"></a><span class="lineno"
|
|
426
|
-
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> 
|
|
427
|
-
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> 
|
|
428
|
-
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> 
|
|
429
|
-
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> 
|
|
430
|
-
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> 
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="
|
|
435
|
-
<div class="line"><a name="
|
|
436
|
-
<div class="line"><a name="
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="l00408"></a><span class="lineno"
|
|
443
|
-
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> 
|
|
444
|
-
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> 
|
|
445
|
-
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> 
|
|
446
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> 
|
|
447
|
-
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> 
|
|
448
|
-
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> 
|
|
449
|
-
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> 
|
|
450
|
-
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> 
|
|
451
|
-
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  this->
|
|
452
|
-
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> 
|
|
453
|
-
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> 
|
|
454
|
-
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 
|
|
455
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> 
|
|
456
|
-
<div class="line"><a name="
|
|
457
|
-
<div class="line"><a name="l00424"></a><span class="lineno"
|
|
458
|
-
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> 
|
|
459
|
-
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> 
|
|
460
|
-
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> 
|
|
461
|
-
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  </div>
|
|
462
|
-
<div class="line"><a name="l00429"></a><span class="lineno"
|
|
463
|
-
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> 
|
|
464
|
-
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> 
|
|
465
|
-
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> 
|
|
466
|
-
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> 
|
|
467
|
-
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> 
|
|
468
|
-
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> 
|
|
469
|
-
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> 
|
|
470
|
-
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> 
|
|
348
|
+
<div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30"> 306</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>()</div>
|
|
349
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div>
|
|
350
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  this->_lb = 1;</div>
|
|
351
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  this->_ub = 0;</div>
|
|
352
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</div>
|
|
353
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  </div>
|
|
354
|
+
<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d"> 313</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">set_to_top</a>()</div>
|
|
355
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div>
|
|
356
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  this->_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>();</div>
|
|
357
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  this->_ub = <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>();</div>
|
|
358
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
|
359
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  </div>
|
|
360
|
+
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039"> 320</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">leq</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)<span class="keyword"> const</span></div>
|
|
361
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keyword"> </span>{</div>
|
|
362
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
363
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div>
|
|
364
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
365
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  }</div>
|
|
366
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
367
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div>
|
|
368
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
369
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  }</div>
|
|
370
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">else</span></div>
|
|
371
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  {</div>
|
|
372
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(this->_lb) && this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
|
|
373
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div>
|
|
374
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  </div>
|
|
375
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div>
|
|
376
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  </div>
|
|
377
|
+
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df"> 338</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">geq</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)<span class="keyword"> const</span></div>
|
|
378
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword"> </span>{</div>
|
|
379
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
380
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div>
|
|
381
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
382
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  }</div>
|
|
383
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
384
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  {</div>
|
|
385
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
386
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div>
|
|
387
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">else</span></div>
|
|
388
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  {</div>
|
|
389
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(this->_lb) && this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
|
|
390
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  }</div>
|
|
391
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div>
|
|
392
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  </div>
|
|
393
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  </div>
|
|
394
|
+
<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1"> 356</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">equals</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)<span class="keyword"> const</span></div>
|
|
395
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keyword"> </span>{</div>
|
|
396
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
397
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  {</div>
|
|
398
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>();</div>
|
|
399
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  }</div>
|
|
400
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
401
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div>
|
|
402
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
403
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div>
|
|
404
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">else</span></div>
|
|
405
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div>
|
|
406
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>() && other.<a class="code" href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">is_real</a>())</div>
|
|
407
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div>
|
|
408
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">return</span> this->_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) && this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
|
|
409
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div>
|
|
410
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>() && other.<a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>())</div>
|
|
411
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  {</div>
|
|
412
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">return</span> this->_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>) && this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">equal</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>);</div>
|
|
413
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  }</div>
|
|
414
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">is_int</a>())</div>
|
|
415
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div>
|
|
416
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordtype">double</span> thislb = this->_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
|
|
417
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordtype">double</span> thisub = this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
|
|
418
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordtype">double</span> otherlb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
|
|
419
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordtype">double</span> otherub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
|
|
420
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">return</span> thislb == otherlb && thisub == otherub;</div>
|
|
421
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  }</div>
|
|
422
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">else</span></div>
|
|
423
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  {</div>
|
|
424
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordtype">double</span> thislb = this->_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
|
|
425
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordtype">double</span> thisub = this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">getRealNumeral</a>();</div>
|
|
426
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordtype">double</span> otherlb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
|
|
427
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordtype">double</span> otherub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>.<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
|
|
428
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> thislb == otherlb && thisub == otherub;</div>
|
|
429
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }</div>
|
|
430
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"not implemented"</span>);</div>
|
|
431
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  }</div>
|
|
432
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  }</div>
|
|
433
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  </div>
|
|
434
|
+
<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99"> 397</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)</div>
|
|
435
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div>
|
|
436
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
437
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  {</div>
|
|
438
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
439
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  {</div>
|
|
440
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">return</span>;</div>
|
|
441
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  }</div>
|
|
442
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">else</span></div>
|
|
443
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  {</div>
|
|
444
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  this->_lb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
445
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  this->_ub = other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
446
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div>
|
|
447
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  }</div>
|
|
448
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
449
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  {</div>
|
|
450
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">return</span>;</div>
|
|
451
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  }</div>
|
|
452
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">else</span></div>
|
|
453
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  {</div>
|
|
454
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  this->_lb = min(this-><a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
455
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  this->_ub = max(this-><a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
456
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  }</div>
|
|
457
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  }</div>
|
|
458
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div>
|
|
459
|
+
<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144"> 423</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">widen_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)</div>
|
|
460
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  {</div>
|
|
461
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
462
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  {</div>
|
|
463
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  this->_lb = other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
|
|
464
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  this->_ub = other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
|
|
465
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div>
|
|
466
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
467
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  {</div>
|
|
468
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">return</span>;</div>
|
|
469
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  }</div>
|
|
470
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">else</span></div>
|
|
471
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  {</div>
|
|
472
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  this->_lb = !<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">minus_infinity</a>() : this-><a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
473
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  this->_ub = !<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">plus_infinity</a>() : this-><a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
471
474
|
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  }</div>
|
|
472
475
|
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div>
|
|
473
476
|
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  </div>
|
|
474
|
-
<div class="line"><a name="
|
|
475
|
-
<div class="line"><a name="
|
|
476
|
-
<div class="line"><a name="
|
|
477
|
-
<div class="line"><a name="
|
|
478
|
-
<div class="line"><a name="
|
|
479
|
-
<div class="line"><a name="
|
|
480
|
-
<div class="line"><a name="
|
|
481
|
-
<div class="line"><a name="
|
|
482
|
-
<div class="line"><a name="
|
|
483
|
-
<div class="line"><a name="
|
|
484
|
-
<div class="line"><a name="
|
|
485
|
-
<div class="line"><a name="
|
|
486
|
-
<div class="line"><a name="
|
|
487
|
-
<div class="line"><a name="
|
|
488
|
-
<div class="line"><a name="
|
|
489
|
-
<div class="line"><a name="
|
|
490
|
-
<div class="line"><a name="
|
|
491
|
-
<div class="line"><a name="
|
|
492
|
-
<div class="line"><a name="
|
|
493
|
-
<div class="line"><a name="
|
|
494
|
-
<div class="line"><a name="
|
|
495
|
-
<div class="line"><a name="
|
|
496
|
-
<div class="line"><a name="
|
|
497
|
-
<div class="line"><a name="
|
|
498
|
-
<div class="line"><a name="
|
|
499
|
-
<div class="line"><a name="
|
|
500
|
-
<div class="line"><a name="
|
|
501
|
-
<div class="line"><a name="
|
|
502
|
-
<div class="line"><a name="
|
|
503
|
-
<div class="line"><a name="
|
|
504
|
-
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
477
|
+
<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f"> 442</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">narrow_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)</div>
|
|
478
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  {</div>
|
|
479
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
480
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  {</div>
|
|
481
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  this-><a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
|
|
482
|
+
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  }</div>
|
|
483
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
484
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  {</div>
|
|
485
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">return</span>;</div>
|
|
486
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div>
|
|
487
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">else</span></div>
|
|
488
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  {</div>
|
|
489
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  this->_lb = <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>(this-><a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? other.<a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a> : this-><a class="code" href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">_lb</a>;</div>
|
|
490
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  this->_ub = <a class="code" href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">is_infinite</a>(this-><a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) ? other.<a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a> : this-><a class="code" href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">_ub</a>;</div>
|
|
491
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  }</div>
|
|
492
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  }</div>
|
|
493
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  </div>
|
|
494
|
+
<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f"> 460</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &other)</div>
|
|
495
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  {</div>
|
|
496
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || other.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
497
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  {</div>
|
|
498
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  this-><a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
|
|
499
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div>
|
|
500
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">else</span></div>
|
|
501
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  {</div>
|
|
502
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  this->_lb = max(this->_lb, other.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
503
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  this->_ub = min(this->_ub, other.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
504
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
505
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  this-><a class="code" href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">set_to_bottom</a>();</div>
|
|
506
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  }</div>
|
|
505
507
|
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  }</div>
|
|
506
|
-
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> 
|
|
507
|
-
<div class="line"><a name="
|
|
508
|
-
<div class="line"><a name="l00477"></a><span class="lineno"
|
|
509
|
-
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> 
|
|
510
|
-
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> 
|
|
511
|
-
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> 
|
|
512
|
-
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> 
|
|
513
|
-
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> 
|
|
514
|
-
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> 
|
|
515
|
-
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> 
|
|
516
|
-
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> 
|
|
517
|
-
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> 
|
|
518
|
-
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> 
|
|
519
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> 
|
|
520
|
-
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> 
|
|
521
|
-
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> 
|
|
508
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  </div>
|
|
509
|
+
<div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73"> 476</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(<span class="keywordtype">int</span> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
|
|
510
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keyword"> </span>{</div>
|
|
511
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">return</span> this->_lb.<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>) && this->_ub.<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
|
|
512
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  }</div>
|
|
513
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  </div>
|
|
514
|
+
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7"> 481</a></span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">dump</a>(std::ostream &o)<span class="keyword"> const</span></div>
|
|
515
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keyword"> </span>{</div>
|
|
516
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
517
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  {</div>
|
|
518
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  o << <span class="stringliteral">"⊥"</span>;</div>
|
|
519
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div>
|
|
520
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">else</span></div>
|
|
521
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  {</div>
|
|
522
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  o << <span class="stringliteral">"["</span> << this->_lb << <span class="stringliteral">", "</span> << this->_ub << <span class="stringliteral">"]"</span>;</div>
|
|
523
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  }</div>
|
|
522
524
|
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  }</div>
|
|
523
|
-
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> 
|
|
524
|
-
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  </div>
|
|
525
|
-
<div class="line"><a name="
|
|
526
|
-
<div class="line"><a name="
|
|
527
|
-
<div class="line"><a name="
|
|
528
|
-
<div class="line"><a name="
|
|
529
|
-
<div class="line"><a name="
|
|
530
|
-
<div class="line"><a name="
|
|
531
|
-
<div class="line"><a name="
|
|
532
|
-
<div class="line"><a name="
|
|
533
|
-
<div class="line"><a name="
|
|
534
|
-
<div class="line"><a name="
|
|
535
|
-
<div class="line"><a name="
|
|
536
|
-
<div class="line"><a name="
|
|
537
|
-
<div class="line"><a name="
|
|
538
|
-
<div class="line"><a name="
|
|
539
|
-
<div class="line"><a name="
|
|
540
|
-
<div class="line"><a name="
|
|
541
|
-
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> 
|
|
542
|
-
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> 
|
|
543
|
-
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> 
|
|
544
|
-
<div class="line"><a name="
|
|
545
|
-
<div class="line"><a name="
|
|
546
|
-
<div class="line"><a name="
|
|
547
|
-
<div class="line"><a name="
|
|
525
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  </div>
|
|
526
|
+
<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045"> 493</a></span>  <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">toString</a>()<span class="keyword"> const</span></div>
|
|
527
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keyword"> </span>{</div>
|
|
528
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
529
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  std::stringstream rawStr(str);</div>
|
|
530
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
531
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  {</div>
|
|
532
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  rawStr << <span class="stringliteral">"⊥"</span>;</div>
|
|
533
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  }</div>
|
|
534
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">else</span></div>
|
|
535
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  {</div>
|
|
536
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  rawStr << <span class="stringliteral">"["</span> << <a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">to_string</a>() << <span class="stringliteral">", "</span> << <a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">to_string</a>() << <span class="stringliteral">"]"</span>;</div>
|
|
537
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  }</div>
|
|
538
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> rawStr.str();</div>
|
|
539
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div>
|
|
540
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  </div>
|
|
541
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }; <span class="comment">// end class IntervalValue</span></div>
|
|
542
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  </div>
|
|
543
|
+
<div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa"> 511</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa">operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs,</div>
|
|
544
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
545
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> {</div>
|
|
546
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
547
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  {</div>
|
|
548
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
549
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  }</div>
|
|
550
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
548
551
|
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  {</div>
|
|
549
|
-
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#
|
|
552
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
550
553
|
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div>
|
|
551
|
-
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">else</span
|
|
554
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">else</span></div>
|
|
552
555
|
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  {</div>
|
|
553
|
-
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#
|
|
556
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() + rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
554
557
|
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  }</div>
|
|
555
|
-
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> 
|
|
556
|
-
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> 
|
|
557
|
-
<div class="line"><a name="
|
|
558
|
-
<div class="line"><a name="
|
|
559
|
-
<div class="line"><a name="
|
|
560
|
-
<div class="line"><a name="
|
|
561
|
-
<div class="line"><a name="
|
|
562
|
-
<div class="line"><a name="
|
|
563
|
-
<div class="line"><a name="
|
|
564
|
-
<div class="line"><a name="
|
|
565
|
-
<div class="line"><a name="
|
|
566
|
-
<div class="line"><a name="
|
|
567
|
-
<div class="line"><a name="
|
|
568
|
-
<div class="line"><a name="
|
|
569
|
-
<div class="line"><a name="l00541"></a><span class="lineno"
|
|
570
|
-
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> 
|
|
571
|
-
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> 
|
|
572
|
-
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> 
|
|
573
|
-
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> 
|
|
574
|
-
<div class="line"><a name="
|
|
575
|
-
<div class="line"><a name="
|
|
576
|
-
<div class="line"><a name="
|
|
577
|
-
<div class="line"><a name="
|
|
578
|
-
<div class="line"><a name="
|
|
579
|
-
<div class="line"><a name="
|
|
580
|
-
<div class="line"><a name="
|
|
581
|
-
<div class="line"><a name="
|
|
582
|
-
<div class="line"><a name="
|
|
583
|
-
<div class="line"><a name="
|
|
584
|
-
<div class="line"><a name="
|
|
585
|
-
<div class="line"><a name="
|
|
586
|
-
<div class="line"><a name="
|
|
587
|
-
<div class="line"><a name="
|
|
588
|
-
<div class="line"><a name="
|
|
589
|
-
<div class="line"><a name="
|
|
590
|
-
<div class="line"><a name="
|
|
591
|
-
<div class="line"><a name="
|
|
592
|
-
<div class="line"><a name="
|
|
593
|
-
<div class="line"><a name="
|
|
594
|
-
<div class="line"><a name="
|
|
595
|
-
<div class="line"><a name="
|
|
596
|
-
<div class="line"><a name="
|
|
597
|
-
<div class="line"><a name="
|
|
598
|
-
<div class="line"><a name="
|
|
599
|
-
<div class="line"><a name="
|
|
600
|
-
<div class="line"><a name="
|
|
601
|
-
<div class="line"><a name="
|
|
602
|
-
<div class="line"><a name="
|
|
603
|
-
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, ub);</div>
|
|
604
|
-
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  }</div>
|
|
558
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div>
|
|
559
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  </div>
|
|
560
|
+
<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36"> 529</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">operator-</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs,</div>
|
|
561
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
562
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> {</div>
|
|
563
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
564
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  {</div>
|
|
565
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
566
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  }</div>
|
|
567
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
568
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  {</div>
|
|
569
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
570
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  }</div>
|
|
571
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">else</span></div>
|
|
572
|
+
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  {</div>
|
|
573
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() - rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() - rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
574
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  }</div>
|
|
575
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div>
|
|
576
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  </div>
|
|
577
|
+
<div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1"> 547</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">operator*</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs,</div>
|
|
578
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
579
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> {</div>
|
|
580
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
581
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  {</div>
|
|
582
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
583
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  }</div>
|
|
584
|
+
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">else</span></div>
|
|
585
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  {</div>
|
|
586
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
587
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
588
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
589
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() * rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
590
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  std::vector<NumericLiteral> vec{ll, lu, ul, uu};</div>
|
|
591
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
|
|
592
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
|
|
593
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  }</div>
|
|
594
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div>
|
|
595
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  </div>
|
|
596
|
+
<div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468"> 567</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">operator/</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs,</div>
|
|
597
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
598
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> {</div>
|
|
599
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
600
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  {</div>
|
|
601
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
602
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  }</div>
|
|
603
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
|
|
604
|
+
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  {</div>
|
|
605
|
+
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
605
606
|
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  }</div>
|
|
606
|
-
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> 
|
|
607
|
-
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> 
|
|
608
|
-
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> 
|
|
609
|
-
<div class="line"><a name="l00581"></a><span class="lineno"
|
|
610
|
-
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> 
|
|
611
|
-
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> 
|
|
612
|
-
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> 
|
|
613
|
-
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> 
|
|
614
|
-
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> 
|
|
615
|
-
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> 
|
|
616
|
-
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> 
|
|
617
|
-
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> 
|
|
618
|
-
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> 
|
|
619
|
-
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> 
|
|
620
|
-
<div class="line"><a name="
|
|
621
|
-
<div class="line"><a name="
|
|
622
|
-
<div class="line"><a name="
|
|
623
|
-
<div class="line"><a name="
|
|
624
|
-
<div class="line"><a name="
|
|
625
|
-
<div class="line"><a name="
|
|
626
|
-
<div class="line"><a name="
|
|
627
|
-
<div class="line"><a name="
|
|
628
|
-
<div class="line"><a name="
|
|
629
|
-
<div class="line"><a name="
|
|
630
|
-
<div class="line"><a name="
|
|
631
|
-
<div class="line"><a name="
|
|
632
|
-
<div class="line"><a name="
|
|
633
|
-
<div class="line"><a name="
|
|
634
|
-
<div class="line"><a name="
|
|
635
|
-
<div class="line"><a name="
|
|
636
|
-
<div class="line"><a name="
|
|
637
|
-
<div class="line"><a name="
|
|
638
|
-
<div class="line"><a name="
|
|
639
|
-
<div class="line"><a name="
|
|
640
|
-
<div class="line"><a name="
|
|
641
|
-
<div class="line"><a name="
|
|
642
|
-
<div class="line"><a name="
|
|
643
|
-
<div class="line"><a name="
|
|
644
|
-
<div class="line"><a name="
|
|
645
|
-
<div class="line"><a name="
|
|
646
|
-
<div class="line"><a name="
|
|
647
|
-
<div class="line"><a name="
|
|
648
|
-
<div class="line"><a name="
|
|
649
|
-
<div class="line"><a name="
|
|
650
|
-
<div class="line"><a name="
|
|
651
|
-
<div class="line"><a name="
|
|
652
|
-
<div class="line"><a name="
|
|
653
|
-
<div class="line"><a name="
|
|
654
|
-
<div class="line"><a name="
|
|
655
|
-
<div class="line"><a name="
|
|
656
|
-
<div class="line"><a name="
|
|
657
|
-
<div class="line"><a name="
|
|
658
|
-
<div class="line"><a name="
|
|
659
|
-
<div class="line"><a name="
|
|
660
|
-
<div class="line"><a name="
|
|
661
|
-
<div class="line"><a name="
|
|
662
|
-
<div class="line"><a name="
|
|
663
|
-
<div class="line"><a name="
|
|
664
|
-
<div class="line"><a name="
|
|
665
|
-
<div class="line"><a name="
|
|
666
|
-
<div class="line"><a name="
|
|
667
|
-
<div class="line"><a name="
|
|
668
|
-
<div class="line"><a name="
|
|
669
|
-
<div class="line"><a name="
|
|
670
|
-
<div class="line"><a name="
|
|
671
|
-
<div class="line"><a name="
|
|
672
|
-
<div class="line"><a name="
|
|
673
|
-
<div class="line"><a name="
|
|
674
|
-
<div class="line"><a name="
|
|
675
|
-
<div class="line"><a name="
|
|
676
|
-
<div class="line"><a name="
|
|
677
|
-
<div class="line"><a name="
|
|
678
|
-
<div class="line"><a name="
|
|
679
|
-
<div class="line"><a name="
|
|
680
|
-
<div class="line"><a name="
|
|
681
|
-
<div class="line"><a name="
|
|
682
|
-
<div class="line"><a name="
|
|
683
|
-
<div class="line"><a name="
|
|
684
|
-
<div class="line"><a name="
|
|
685
|
-
<div class="line"><a name="
|
|
686
|
-
<div class="line"><a name="
|
|
687
|
-
<div class="line"><a name="
|
|
688
|
-
<div class="line"><a name="
|
|
689
|
-
<div class="line"><a name="
|
|
690
|
-
<div class="line"><a name="
|
|
691
|
-
<div class="line"><a name="
|
|
692
|
-
<div class="line"><a name="
|
|
693
|
-
<div class="line"><a name="
|
|
694
|
-
<div class="line"><a name="
|
|
695
|
-
<div class="line"><a name="
|
|
696
|
-
<div class="line"><a name="
|
|
697
|
-
<div class="line"><a name="
|
|
698
|
-
<div class="line"><a name="
|
|
699
|
-
<div class="line"><a name="
|
|
700
|
-
<div class="line"><a name="
|
|
701
|
-
<div class="line"><a name="
|
|
702
|
-
<div class="line"><a name="
|
|
703
|
-
<div class="line"><a name="
|
|
704
|
-
<div class="line"><a name="
|
|
705
|
-
<div class="line"><a name="
|
|
706
|
-
<div class="line"><a name="
|
|
707
|
-
<div class="line"><a name="
|
|
708
|
-
<div class="line"><a name="
|
|
709
|
-
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  </div>
|
|
607
|
+
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="keywordflow">else</span></div>
|
|
608
|
+
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  {</div>
|
|
609
|
+
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">// Neither the dividend nor the divisor contains 0</span></div>
|
|
610
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
611
|
+
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
612
|
+
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
613
|
+
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() / rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
614
|
+
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  std::vector<NumericLiteral> vec{ll, lu, ul, uu};</div>
|
|
615
|
+
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  </div>
|
|
616
|
+
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
|
|
617
|
+
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
|
|
618
|
+
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  }</div>
|
|
619
|
+
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> }</div>
|
|
620
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  </div>
|
|
621
|
+
<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d"> 593</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">operator%</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs,</div>
|
|
622
|
+
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
623
|
+
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> {</div>
|
|
624
|
+
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
625
|
+
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  {</div>
|
|
626
|
+
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
627
|
+
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  }</div>
|
|
628
|
+
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
|
|
629
|
+
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  {</div>
|
|
630
|
+
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">is_zero</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
631
|
+
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  }</div>
|
|
632
|
+
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
633
|
+
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  {</div>
|
|
634
|
+
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() % rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() % rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
635
|
+
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  }</div>
|
|
636
|
+
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="keywordflow">else</span></div>
|
|
637
|
+
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  {</div>
|
|
638
|
+
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> n_ub = max(abs(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()), abs(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()));</div>
|
|
639
|
+
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> d_ub = max(abs(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()) - 1;</div>
|
|
640
|
+
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ub = min(n_ub, d_ub);</div>
|
|
641
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  </div>
|
|
642
|
+
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() < 0)</div>
|
|
643
|
+
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div>
|
|
644
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() > 0)</div>
|
|
645
|
+
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  {</div>
|
|
646
|
+
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(-ub, ub);</div>
|
|
647
|
+
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  }</div>
|
|
648
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">else</span></div>
|
|
649
|
+
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  {</div>
|
|
650
|
+
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(-ub, 0);</div>
|
|
651
|
+
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  }</div>
|
|
652
|
+
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  }</div>
|
|
653
|
+
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">else</span></div>
|
|
654
|
+
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  {</div>
|
|
655
|
+
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, ub);</div>
|
|
656
|
+
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  }</div>
|
|
657
|
+
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  }</div>
|
|
658
|
+
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> }</div>
|
|
659
|
+
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  </div>
|
|
660
|
+
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="comment">// Compare two IntervalValues for greater than</span></div>
|
|
661
|
+
<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2"> 633</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">operator></a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
662
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div>
|
|
663
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
|
|
664
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
665
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  {</div>
|
|
666
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
667
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  }</div>
|
|
668
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
|
|
669
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
670
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  {</div>
|
|
671
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
672
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  }</div>
|
|
673
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">else</span></div>
|
|
674
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  {</div>
|
|
675
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
|
|
676
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
677
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  {</div>
|
|
678
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="comment">// It means lhs.lb() > rhs.lb()? true: false</span></div>
|
|
679
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
680
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  }</div>
|
|
681
|
+
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordflow">else</span></div>
|
|
682
|
+
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  {</div>
|
|
683
|
+
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="comment">// Return [1,1] means lhs is totally greater than rhs</span></div>
|
|
684
|
+
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <span class="comment">// When lhs.lb > rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
|
|
685
|
+
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="comment">// lhs.lb(3) > rhs.ub(2)</span></div>
|
|
686
|
+
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="comment">// It means lhs.lb() > rhs.ub()</span></div>
|
|
687
|
+
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
|
|
688
|
+
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  {</div>
|
|
689
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
690
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  }</div>
|
|
691
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than rhs</span></div>
|
|
692
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="comment">// i.e., lhs is totally less than or equal to rhs</span></div>
|
|
693
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="comment">// When lhs.ub <= rhs.lb, e.g., lhs:[3, 4] rhs:[4,5]</span></div>
|
|
694
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="comment">// lhs.ub(4) <= rhs.lb(4)</span></div>
|
|
695
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
|
|
696
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  {</div>
|
|
697
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
698
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  }</div>
|
|
699
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="comment">// For other cases, lhs can be greater than or not, depending on the values</span></div>
|
|
700
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
|
|
701
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="comment">// lhs can be greater than rhs if lhs is 4 and rhs is 1.</span></div>
|
|
702
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="comment">// lhs can also not be greater than rhs if lhs is 2 and rhs is 3</span></div>
|
|
703
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="keywordflow">else</span></div>
|
|
704
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  {</div>
|
|
705
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
|
|
706
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  }</div>
|
|
707
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  }</div>
|
|
708
|
+
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  }</div>
|
|
709
|
+
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> }</div>
|
|
710
710
|
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  </div>
|
|
711
|
-
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment">// Compare two IntervalValues for
|
|
712
|
-
<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="namespaceSVF.html#
|
|
711
|
+
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment">// Compare two IntervalValues for less than</span></div>
|
|
712
|
+
<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b"> 684</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">operator<</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
713
713
|
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> {</div>
|
|
714
714
|
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
|
|
715
715
|
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
@@ -726,326 +726,387 @@ $(function() {
|
|
|
726
726
|
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
|
|
727
727
|
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
728
728
|
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  {</div>
|
|
729
|
-
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="
|
|
730
|
-
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> 
|
|
731
|
-
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> 
|
|
732
|
-
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> 
|
|
733
|
-
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> 
|
|
734
|
-
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="comment">//
|
|
735
|
-
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="comment">// lhs.
|
|
736
|
-
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="
|
|
737
|
-
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> 
|
|
738
|
-
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> 
|
|
739
|
-
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> 
|
|
740
|
-
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> 
|
|
741
|
-
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> 
|
|
742
|
-
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="comment">//
|
|
743
|
-
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">//
|
|
744
|
-
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">//
|
|
745
|
-
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="
|
|
746
|
-
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> 
|
|
747
|
-
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> 
|
|
748
|
-
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> 
|
|
749
|
-
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> 
|
|
750
|
-
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="comment">//
|
|
751
|
-
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="comment">//
|
|
752
|
-
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="comment">// lhs can
|
|
753
|
-
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="
|
|
754
|
-
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> 
|
|
755
|
-
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> 
|
|
756
|
-
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> 
|
|
757
|
-
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> 
|
|
758
|
-
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> 
|
|
759
|
-
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> }</div>
|
|
760
|
-
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> 
|
|
761
|
-
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> 
|
|
762
|
-
<div class="line"><a name="l00734"></a><span class="lineno"
|
|
763
|
-
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> 
|
|
764
|
-
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> 
|
|
765
|
-
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> 
|
|
766
|
-
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> 
|
|
767
|
-
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> 
|
|
768
|
-
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> 
|
|
769
|
-
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> 
|
|
770
|
-
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> 
|
|
771
|
-
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> 
|
|
772
|
-
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> 
|
|
773
|
-
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> 
|
|
774
|
-
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> 
|
|
775
|
-
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> 
|
|
776
|
-
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> 
|
|
777
|
-
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> 
|
|
778
|
-
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> 
|
|
779
|
-
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> 
|
|
780
|
-
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> 
|
|
781
|
-
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> 
|
|
782
|
-
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> 
|
|
783
|
-
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> 
|
|
784
|
-
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> 
|
|
785
|
-
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="comment">// lhs
|
|
786
|
-
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <span class="
|
|
787
|
-
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> 
|
|
788
|
-
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> 
|
|
789
|
-
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> 
|
|
790
|
-
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> 
|
|
791
|
-
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> 
|
|
792
|
-
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="comment">//
|
|
793
|
-
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="comment">//
|
|
794
|
-
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">//
|
|
795
|
-
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="
|
|
796
|
-
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> 
|
|
797
|
-
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> 
|
|
798
|
-
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> 
|
|
799
|
-
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> 
|
|
800
|
-
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> 
|
|
801
|
-
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="comment">// lhs can be
|
|
802
|
-
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="comment">// lhs
|
|
803
|
-
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="
|
|
804
|
-
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> 
|
|
805
|
-
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> 
|
|
806
|
-
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> 
|
|
807
|
-
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> 
|
|
808
|
-
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> 
|
|
809
|
-
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> }</div>
|
|
810
|
-
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> 
|
|
811
|
-
<div class="line"><a name="
|
|
812
|
-
<div class="line"><a name="
|
|
813
|
-
<div class="line"><a name="
|
|
814
|
-
<div class="line"><a name="
|
|
815
|
-
<div class="line"><a name="
|
|
816
|
-
<div class="line"><a name="
|
|
817
|
-
<div class="line"><a name="
|
|
818
|
-
<div class="line"><a name="
|
|
819
|
-
<div class="line"><a name="
|
|
820
|
-
<div class="line"><a name="
|
|
821
|
-
<div class="line"><a name="
|
|
822
|
-
<div class="line"><a name="
|
|
823
|
-
<div class="line"><a name="
|
|
824
|
-
<div class="line"><a name="
|
|
825
|
-
<div class="line"><a name="
|
|
826
|
-
<div class="line"><a name="
|
|
827
|
-
<div class="line"><a name="
|
|
828
|
-
<div class="line"><a name="
|
|
829
|
-
<div class="line"><a name="
|
|
830
|
-
<div class="line"><a name="
|
|
831
|
-
<div class="line"><a name="
|
|
832
|
-
<div class="line"><a name="
|
|
833
|
-
<div class="line"><a name="
|
|
834
|
-
<div class="line"><a name="
|
|
835
|
-
<div class="line"><a name="
|
|
836
|
-
<div class="line"><a name="
|
|
837
|
-
<div class="line"><a name="
|
|
838
|
-
<div class="line"><a name="
|
|
839
|
-
<div class="line"><a name="
|
|
840
|
-
<div class="line"><a name="
|
|
841
|
-
<div class="line"><a name="
|
|
842
|
-
<div class="line"><a name="
|
|
843
|
-
<div class="line"><a name="
|
|
844
|
-
<div class="line"><a name="
|
|
845
|
-
<div class="line"><a name="
|
|
846
|
-
<div class="line"><a name="
|
|
847
|
-
<div class="line"><a name="
|
|
848
|
-
<div class="line"><a name="
|
|
849
|
-
<div class="line"><a name="
|
|
850
|
-
<div class="line"><a name="
|
|
851
|
-
<div class="line"><a name="
|
|
852
|
-
<div class="line"><a name="
|
|
853
|
-
<div class="line"><a name="
|
|
854
|
-
<div class="line"><a name="
|
|
855
|
-
<div class="line"><a name="
|
|
856
|
-
<div class="line"><a name="
|
|
857
|
-
<div class="line"><a name="
|
|
858
|
-
<div class="line"><a name="
|
|
859
|
-
<div class="line"><a name="
|
|
860
|
-
<div class="line"><a name="
|
|
861
|
-
<div class="line"><a name="
|
|
862
|
-
<div class="line"><a name="
|
|
863
|
-
<div class="line"><a name="
|
|
864
|
-
<div class="line"><a name="
|
|
865
|
-
<div class="line"><a name="
|
|
866
|
-
<div class="line"><a name="
|
|
867
|
-
<div class="line"><a name="
|
|
868
|
-
<div class="line"><a name="
|
|
869
|
-
<div class="line"><a name="
|
|
870
|
-
<div class="line"><a name="
|
|
871
|
-
<div class="line"><a name="
|
|
872
|
-
<div class="line"><a name="
|
|
873
|
-
<div class="line"><a name="
|
|
874
|
-
<div class="line"><a name="
|
|
875
|
-
<div class="line"><a name="
|
|
876
|
-
<div class="line"><a name="
|
|
877
|
-
<div class="line"><a name="
|
|
878
|
-
<div class="line"><a name="
|
|
879
|
-
<div class="line"><a name="
|
|
880
|
-
<div class="line"><a name="
|
|
881
|
-
<div class="line"><a name="
|
|
882
|
-
<div class="line"><a name="
|
|
883
|
-
<div class="line"><a name="
|
|
884
|
-
<div class="line"><a name="
|
|
885
|
-
<div class="line"><a name="
|
|
886
|
-
<div class="line"><a name="
|
|
887
|
-
<div class="line"><a name="
|
|
729
|
+
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="comment">// It means lhs.lb() < rhs.lb()? true: false</span></div>
|
|
730
|
+
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
731
|
+
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  }</div>
|
|
732
|
+
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">else</span></div>
|
|
733
|
+
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  {</div>
|
|
734
|
+
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="comment">// Return [1,1] means lhs is totally less than rhs</span></div>
|
|
735
|
+
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="comment">// When lhs.ub < rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
|
|
736
|
+
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="comment">// lhs.ub(2) < rhs.lb(3)</span></div>
|
|
737
|
+
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="comment">// It means lhs.ub() < rhs.lb()</span></div>
|
|
738
|
+
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
|
|
739
|
+
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  {</div>
|
|
740
|
+
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
741
|
+
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  }</div>
|
|
742
|
+
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="comment">// Return [0,0] means lhs is totally impossible to be less than rhs</span></div>
|
|
743
|
+
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="comment">// i.e., lhs is totally greater than or equal to rhs</span></div>
|
|
744
|
+
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="comment">// When lhs.lb >= rhs.ub, e.g., lhs:[4,5] rhs:[3,4]</span></div>
|
|
745
|
+
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="comment">// lhs.lb(4) >= rhs.ub(4)</span></div>
|
|
746
|
+
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
|
|
747
|
+
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  {</div>
|
|
748
|
+
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
749
|
+
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  }</div>
|
|
750
|
+
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="comment">// For other cases, lhs can be less than rhs or not, depending on the values</span></div>
|
|
751
|
+
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
|
|
752
|
+
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="comment">// lhs can be less than rhs if lhs is 2, rhs is 3.</span></div>
|
|
753
|
+
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="comment">// lhs can also not be less than rhs if lhs is 4 and rhs is 1</span></div>
|
|
754
|
+
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">else</span></div>
|
|
755
|
+
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  {</div>
|
|
756
|
+
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
|
|
757
|
+
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  }</div>
|
|
758
|
+
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  }</div>
|
|
759
|
+
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  }</div>
|
|
760
|
+
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
|
|
761
|
+
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  </div>
|
|
762
|
+
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  </div>
|
|
763
|
+
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="comment">// Compare two IntervalValues for greater than or equal to</span></div>
|
|
764
|
+
<div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24"> 736</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">operator>=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
765
|
+
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> {</div>
|
|
766
|
+
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
|
|
767
|
+
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
768
|
+
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  {</div>
|
|
769
|
+
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
770
|
+
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  }</div>
|
|
771
|
+
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
|
|
772
|
+
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
773
|
+
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  {</div>
|
|
774
|
+
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
775
|
+
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  }</div>
|
|
776
|
+
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">else</span></div>
|
|
777
|
+
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  {</div>
|
|
778
|
+
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
|
|
779
|
+
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
780
|
+
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  {</div>
|
|
781
|
+
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
782
|
+
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  }</div>
|
|
783
|
+
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">else</span></div>
|
|
784
|
+
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  {</div>
|
|
785
|
+
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="comment">// Return [1,1] means lhs is totally greater than or equal to rhs</span></div>
|
|
786
|
+
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <span class="comment">// When lhs.lb >= rhs.ub, e.g., lhs:[2, 3] rhs:[1, 2]</span></div>
|
|
787
|
+
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="comment">// lhs.lb(2) >= rhs.ub(2)</span></div>
|
|
788
|
+
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
|
|
789
|
+
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  {</div>
|
|
790
|
+
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
791
|
+
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  }</div>
|
|
792
|
+
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="comment">// Return [0,0] means lhs is totally impossible to be greater than or equal to rhs</span></div>
|
|
793
|
+
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="comment">// i.e., lhs is totally less than rhs</span></div>
|
|
794
|
+
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="comment">// When lhs.ub < rhs.lb, e.g., lhs:[1, 2] rhs:[3, 4]</span></div>
|
|
795
|
+
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="comment">// lhs.ub(2) < rhs.lb(3)</span></div>
|
|
796
|
+
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="comment">// It means lhs.ub() < rhs.lb()</span></div>
|
|
797
|
+
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">geq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
|
|
798
|
+
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  {</div>
|
|
799
|
+
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
800
|
+
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  }</div>
|
|
801
|
+
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="comment">// For other cases, lhs can be greater than or equal to rhs or not, depending on the values</span></div>
|
|
802
|
+
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
|
|
803
|
+
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="comment">// lhs can be greater than or equal to rhs if lhs is 3, rhs is 2.</span></div>
|
|
804
|
+
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="comment">// lhs can also not be greater than or equal to rhs if lhs is 2 and rhs is 3</span></div>
|
|
805
|
+
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">else</span></div>
|
|
806
|
+
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  {</div>
|
|
807
|
+
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
|
|
808
|
+
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  }</div>
|
|
809
|
+
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  }</div>
|
|
810
|
+
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  }</div>
|
|
811
|
+
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> }</div>
|
|
812
|
+
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  </div>
|
|
813
|
+
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="comment">// Compare two IntervalValues for less than or equal to</span></div>
|
|
814
|
+
<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293"> 786</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293">operator<=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
815
|
+
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> {</div>
|
|
816
|
+
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="comment">// If either lhs or rhs is bottom, the result is bottom</span></div>
|
|
817
|
+
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
818
|
+
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  {</div>
|
|
819
|
+
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
820
|
+
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  }</div>
|
|
821
|
+
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="comment">// If either lhs or rhs is top, the result is top</span></div>
|
|
822
|
+
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
823
|
+
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  {</div>
|
|
824
|
+
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
825
|
+
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  }</div>
|
|
826
|
+
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">else</span></div>
|
|
827
|
+
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  {</div>
|
|
828
|
+
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="comment">// If both lhs and rhs are numerals (lb = ub), directly compare their values</span></div>
|
|
829
|
+
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
830
|
+
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  {</div>
|
|
831
|
+
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordflow">return</span> lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()) ? <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1) : <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
832
|
+
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  }</div>
|
|
833
|
+
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="keywordflow">else</span></div>
|
|
834
|
+
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  {</div>
|
|
835
|
+
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="comment">// Return [1,1] means lhs is totally less than or equal to rhs</span></div>
|
|
836
|
+
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="comment">// When lhs.ub <= rhs.lb, e.g., lhs:[1, 2] rhs:[2, 3]</span></div>
|
|
837
|
+
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment">// lhs.ub(2) <= rhs.lb(2)</span></div>
|
|
838
|
+
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>()))</div>
|
|
839
|
+
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  {</div>
|
|
840
|
+
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
841
|
+
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  }</div>
|
|
842
|
+
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="comment">// Return [0,0] means lhs is totally impossible to be less than or equal to rhs</span></div>
|
|
843
|
+
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="comment">// i.e., lhs is totally greater than rhs</span></div>
|
|
844
|
+
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="comment">// When lhs.lb > rhs.ub, e.g., lhs:[3, 4] rhs:[1, 2]</span></div>
|
|
845
|
+
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="comment">// lhs.lb(3) > rhs.ub(2)</span></div>
|
|
846
|
+
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="comment">// It means lhs.lb() > rhs.ub()</span></div>
|
|
847
|
+
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">leq</a>(rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()))</div>
|
|
848
|
+
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  {</div>
|
|
849
|
+
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
850
|
+
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  }</div>
|
|
851
|
+
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="comment">// For other cases, lhs can be less than or equal to rhs or not, depending on the values</span></div>
|
|
852
|
+
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="comment">// e.g., lhs: [2,4], rhs: [1,3],</span></div>
|
|
853
|
+
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <span class="comment">// lhs can be less than or equal to rhs if lhs is 3, rhs is 3.</span></div>
|
|
854
|
+
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="comment">// lhs can also not be less than or equal to rhs if lhs is 3 and rhs is 2</span></div>
|
|
855
|
+
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  <span class="keywordflow">else</span></div>
|
|
856
|
+
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  {</div>
|
|
857
|
+
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 1);</div>
|
|
858
|
+
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  }</div>
|
|
859
|
+
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  }</div>
|
|
860
|
+
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  }</div>
|
|
861
|
+
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> }</div>
|
|
862
|
+
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  </div>
|
|
863
|
+
<div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6"> 836</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">operator<<</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
864
|
+
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> {</div>
|
|
865
|
+
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="comment">//TODO: implement <<</span></div>
|
|
866
|
+
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
867
|
+
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
868
|
+
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
869
|
+
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
870
|
+
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <span class="keywordflow">else</span></div>
|
|
871
|
+
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  {</div>
|
|
872
|
+
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> shift = rhs;</div>
|
|
873
|
+
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  shift.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>()));</div>
|
|
874
|
+
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keywordflow">if</span> (shift.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
875
|
+
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
876
|
+
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> coeff(1 << (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(),</div>
|
|
877
|
+
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() ? <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>() : 1</div>
|
|
878
|
+
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  << (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
|
|
879
|
+
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">return</span> lhs * coeff;</div>
|
|
880
|
+
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  }</div>
|
|
881
|
+
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> }</div>
|
|
882
|
+
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  </div>
|
|
883
|
+
<div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee"> 857</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee">operator>></a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
884
|
+
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> {</div>
|
|
885
|
+
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="comment">//TODO: implement >></span></div>
|
|
886
|
+
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
887
|
+
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
888
|
+
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
888
889
|
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
889
|
-
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span> 
|
|
890
|
-
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> 
|
|
891
|
-
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  </div>
|
|
892
|
-
<div class="line"><a name="
|
|
893
|
-
<div class="line"><a name="
|
|
894
|
-
<div class="line"><a name="
|
|
895
|
-
<div class="line"><a name="
|
|
896
|
-
<div class="line"><a name="
|
|
897
|
-
<div class="line"><a name="
|
|
898
|
-
<div class="line"><a name="
|
|
899
|
-
<div class="line"><a name="
|
|
900
|
-
<div class="line"><a name="
|
|
901
|
-
<div class="line"><a name="
|
|
902
|
-
<div class="line"><a name="
|
|
903
|
-
<div class="line"><a name="
|
|
904
|
-
<div class="line"><a name="
|
|
905
|
-
<div class="line"><a name="
|
|
906
|
-
<div class="line"><a name="
|
|
907
|
-
<div class="line"><a name="
|
|
908
|
-
<div class="line"><a name="
|
|
909
|
-
<div class="line"><a name="
|
|
910
|
-
<div class="line"><a name="
|
|
911
|
-
<div class="line"><a name="
|
|
912
|
-
<div class="line"><a name="
|
|
890
|
+
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keywordflow">else</span></div>
|
|
891
|
+
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  {</div>
|
|
892
|
+
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> shift = rhs;</div>
|
|
893
|
+
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  shift.<a class="code" href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">meet_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, <a class="code" href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">IntervalValue::plus_infinity</a>()));</div>
|
|
894
|
+
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">if</span> (shift.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
895
|
+
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
896
|
+
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">contains</a>(0))</div>
|
|
897
|
+
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  {</div>
|
|
898
|
+
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> l(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>(), -1);</div>
|
|
899
|
+
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> u(1, lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
900
|
+
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> tmp = l >> rhs;</div>
|
|
901
|
+
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  tmp.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(u >> rhs);</div>
|
|
902
|
+
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  tmp.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0));</div>
|
|
903
|
+
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="keywordflow">return</span> tmp;</div>
|
|
904
|
+
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  }</div>
|
|
905
|
+
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  <span class="keywordflow">else</span></div>
|
|
906
|
+
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  {</div>
|
|
907
|
+
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ll = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() >> shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
908
|
+
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> lu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() >> shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
909
|
+
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> ul = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() >> shift.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>();</div>
|
|
910
|
+
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <a class="code" href="classSVF_1_1NumericLiteral.html">NumericLiteral</a> uu = lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>() >> shift.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>();</div>
|
|
911
|
+
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  std::vector<NumericLiteral> vec{ll, lu, ul, uu};</div>
|
|
912
|
+
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">NumericLiteral::min</a>(vec),</div>
|
|
913
|
+
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">NumericLiteral::max</a>(vec));</div>
|
|
914
|
+
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  }</div>
|
|
913
915
|
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  }</div>
|
|
914
|
-
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> 
|
|
915
|
-
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span> 
|
|
916
|
-
<div class="line"><a name="
|
|
917
|
-
<div class="line"><a name="
|
|
918
|
-
<div class="line"><a name="
|
|
919
|
-
<div class="line"><a name="
|
|
920
|
-
<div class="line"><a name="l00897"></a><span class="lineno"
|
|
921
|
-
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> {</div>
|
|
922
|
-
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span> 
|
|
923
|
-
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span> 
|
|
924
|
-
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span> 
|
|
925
|
-
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span> 
|
|
926
|
-
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span> 
|
|
927
|
-
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span> 
|
|
928
|
-
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span> 
|
|
929
|
-
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span> 
|
|
930
|
-
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span> 
|
|
931
|
-
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span> 
|
|
932
|
-
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span> 
|
|
933
|
-
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span> 
|
|
934
|
-
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(
|
|
935
|
-
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span> 
|
|
936
|
-
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span> 
|
|
916
|
+
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span> }</div>
|
|
917
|
+
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  </div>
|
|
918
|
+
<div class="line"><a name="l00893"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2"> 893</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">operator&</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
919
|
+
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span> {</div>
|
|
920
|
+
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
921
|
+
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
922
|
+
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
923
|
+
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  {</div>
|
|
924
|
+
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() & rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
925
|
+
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  }</div>
|
|
926
|
+
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0 && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0)</div>
|
|
927
|
+
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  {</div>
|
|
928
|
+
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, min(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>()));</div>
|
|
929
|
+
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  }</div>
|
|
930
|
+
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0)</div>
|
|
931
|
+
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  {</div>
|
|
932
|
+
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
933
|
+
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  }</div>
|
|
934
|
+
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0)</div>
|
|
935
|
+
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  {</div>
|
|
936
|
+
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>());</div>
|
|
937
|
+
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  }</div>
|
|
938
|
+
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="keywordflow">else</span></div>
|
|
937
939
|
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  {</div>
|
|
938
|
-
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <
|
|
939
|
-
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span> 
|
|
940
|
-
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> 
|
|
941
|
-
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span> 
|
|
942
|
-
<div class="line"><a name="
|
|
943
|
-
<div class="line"><a name="
|
|
944
|
-
<div class="line"><a name="
|
|
945
|
-
<div class="line"><a name="
|
|
946
|
-
<div class="line"><a name="
|
|
947
|
-
<div class="line"><a name="
|
|
948
|
-
<div class="line"><a name="l00926"></a><span class="lineno"
|
|
949
|
-
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span> 
|
|
950
|
-
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span> 
|
|
951
|
-
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> 
|
|
952
|
-
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> 
|
|
953
|
-
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span> 
|
|
954
|
-
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  </div>
|
|
955
|
-
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> 
|
|
956
|
-
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> 
|
|
940
|
+
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
941
|
+
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  }</div>
|
|
942
|
+
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span> }</div>
|
|
943
|
+
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  </div>
|
|
944
|
+
<div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8"> 920</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">operator|</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
945
|
+
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span> {</div>
|
|
946
|
+
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
|
|
947
|
+
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  {</div>
|
|
948
|
+
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <span class="keywordtype">int</span> i = 1;</div>
|
|
949
|
+
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="keywordflow">while</span> ((num >> i) != 0)</div>
|
|
950
|
+
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  {</div>
|
|
951
|
+
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  ++i;</div>
|
|
952
|
+
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  }</div>
|
|
953
|
+
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordflow">return</span> 1 << i;</div>
|
|
954
|
+
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  };</div>
|
|
955
|
+
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
956
|
+
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
957
|
+
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
958
|
+
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() | rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
959
|
+
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0 && !lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() &&</div>
|
|
960
|
+
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0 && !rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>())</div>
|
|
961
|
+
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  {</div>
|
|
962
|
+
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
|
|
963
|
+
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = next_power_of_2(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>(m+1));</div>
|
|
964
|
+
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
|
|
965
|
+
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  }</div>
|
|
966
|
+
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="keywordflow">else</span></div>
|
|
967
|
+
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  {</div>
|
|
968
|
+
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
969
|
+
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  }</div>
|
|
970
|
+
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span> }</div>
|
|
971
|
+
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  </div>
|
|
972
|
+
<div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d"> 949</a></span> <span class="keyword">inline</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">operator^</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &rhs)</div>
|
|
973
|
+
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span> {</div>
|
|
974
|
+
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keyword">auto</span> next_power_of_2 = [](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> num)</div>
|
|
975
|
+
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  {</div>
|
|
976
|
+
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordtype">int</span> i = 1;</div>
|
|
977
|
+
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  <span class="keywordflow">while</span> ((num >> i) != 0)</div>
|
|
978
|
+
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  {</div>
|
|
979
|
+
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  ++i;</div>
|
|
980
|
+
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  }</div>
|
|
981
|
+
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="keywordflow">return</span> 1 << i;</div>
|
|
982
|
+
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  };</div>
|
|
983
|
+
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || rhs.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
984
|
+
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
985
|
+
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>() && rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
986
|
+
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>() ^ rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>());</div>
|
|
987
|
+
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0 && !lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>() &&</div>
|
|
988
|
+
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  rhs.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() >= 0 && !rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">is_infinity</a>())</div>
|
|
989
|
+
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  {</div>
|
|
990
|
+
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> m = std::max(lhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(), rhs.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
|
|
991
|
+
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = next_power_of_2(<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>(m+1));</div>
|
|
992
|
+
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) 0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>) ub);</div>
|
|
993
|
+
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  }</div>
|
|
994
|
+
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <span class="keywordflow">else</span></div>
|
|
995
|
+
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  {</div>
|
|
996
|
+
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
997
|
+
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  }</div>
|
|
998
|
+
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span> }</div>
|
|
999
|
+
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  </div>
|
|
1000
|
+
<div class="line"><a name="l00978"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a9f1d12be8c396b73b5a37de2061a24b0"> 978</a></span> <span class="keyword">inline</span> std::ostream &<a class="code" href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">operator<<</a>(std::ostream &o,</div>
|
|
1001
|
+
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>)</div>
|
|
1002
|
+
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div>
|
|
1003
|
+
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>.<a class="code" href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">dump</a>(o);</div>
|
|
1004
|
+
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">return</span> o;</div>
|
|
1005
|
+
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span> }</div>
|
|
1006
|
+
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  </div>
|
|
1007
|
+
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span> } <span class="comment">// end namespace SVF</span></div>
|
|
1008
|
+
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="preprocessor">#endif //Z3_EXAMPLE_IntervalValue_H</span></div>
|
|
957
1009
|
</div><!-- fragment --></div><!-- contents -->
|
|
958
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a2dd004dda59ee5271081afd082374039"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">SVF::IntervalValue::leq</a></div><div class="ttdeci">bool leq(const IntervalValue &other) const</div><div class="ttdoc">Check current IntervalValue is smaller than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
959
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac154ddeb6516e240e091f4867c4c3593"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">SVF::NumericLiteral::to_string</a></div><div class="ttdeci">const std::string to_string() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1010
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a2dd004dda59ee5271081afd082374039"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a2dd004dda59ee5271081afd082374039">SVF::IntervalValue::leq</a></div><div class="ttdeci">bool leq(const IntervalValue &other) const</div><div class="ttdoc">Check current IntervalValue is smaller than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00320">IntervalValue.h:320</a></div></div>
|
|
1011
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac154ddeb6516e240e091f4867c4c3593"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac154ddeb6516e240e091f4867c4c3593">SVF::NumericLiteral::to_string</a></div><div class="ttdeci">const std::string to_string() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00092">NumericLiteral.h:92</a></div></div>
|
|
960
1012
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3ac170a902accf8d84b6b77ab88a8fd3"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3ac170a902accf8d84b6b77ab88a8fd3">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u32_t n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00102">IntervalValue.h:102</a></div></div>
|
|
961
1013
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ad51535cb50a03df7a439b4e5b5d305f0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ad51535cb50a03df7a439b4e5b5d305f0">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue()</div><div class="ttdoc">Create default IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00095">IntervalValue.h:95</a></div></div>
|
|
962
1014
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a739ab04e16ec1156be71b29d49998a4f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a739ab04e16ec1156be71b29d49998a4f">SVF::IntervalValue::plus_infinity</a></div><div class="ttdeci">static NumericLiteral plus_infinity()</div><div class="ttdoc">Get plus infinity +oo.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00072">IntervalValue.h:72</a></div></div>
|
|
963
1015
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3c00a3b16192645f667a88bf636f01ff"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3c00a3b16192645f667a88bf636f01ff">SVF::IntervalValue::_ub</a></div><div class="ttdeci">NumericLiteral _ub</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00050">IntervalValue.h:50</a></div></div>
|
|
964
|
-
<div class="ttc" id="
|
|
965
|
-
<div class="ttc" id="
|
|
1016
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa13c0ab01450d10c9603ea46f0fe3293"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa13c0ab01450d10c9603ea46f0fe3293">SVF::IntervalValue::getRealNumeral</a></div><div class="ttdeci">double getRealNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00293">IntervalValue.h:293</a></div></div>
|
|
1017
|
+
<div class="ttc" id="anamespaceSVF_html_a1dab362b7d3da3375b60c94e78275293"><div class="ttname"><a href="namespaceSVF.html#a1dab362b7d3da3375b60c94e78275293">SVF::operator<=</a></div><div class="ttdeci">IntervalValue operator<=(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00786">IntervalValue.h:786</a></div></div>
|
|
1018
|
+
<div class="ttc" id="anamespaceSVF_html_ad9d56b31ab074c813b48da4c2e0742aa"><div class="ttname"><a href="namespaceSVF.html#ad9d56b31ab074c813b48da4c2e0742aa">SVF::operator+</a></div><div class="ttdeci">IntervalValue operator+(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Add IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00511">IntervalValue.h:511</a></div></div>
|
|
1019
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a20d391da7bcd46a14c5ec1960aee2536"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a20d391da7bcd46a14c5ec1960aee2536">SVF::IntervalValue::is_int</a></div><div class="ttdeci">bool is_int() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00264">IntervalValue.h:264</a></div></div>
|
|
966
1020
|
<div class="ttc" id="aAbstractValue_8h_html"><div class="ttname"><a href="AbstractValue_8h.html">AbstractValue.h</a></div></div>
|
|
967
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a72d89f686c6239c43ea1ea6fcab3062a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a">SVF::IntervalValue::classof</a></div><div class="ttdeci">static bool classof(const AbstractValue *v)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
968
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral & lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
969
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a18d0f2c15ea6fc84dfa28ca494423af9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">SVF::IntervalValue::operator!=</a></div><div class="ttdeci">IntervalValue operator!=(const IntervalValue &other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1021
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a72d89f686c6239c43ea1ea6fcab3062a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a72d89f686c6239c43ea1ea6fcab3062a">SVF::IntervalValue::classof</a></div><div class="ttdeci">static bool classof(const AbstractValue *v)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00213">IntervalValue.h:213</a></div></div>
|
|
1022
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral & lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00220">IntervalValue.h:220</a></div></div>
|
|
1023
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a18d0f2c15ea6fc84dfa28ca494423af9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a18d0f2c15ea6fc84dfa28ca494423af9">SVF::IntervalValue::operator!=</a></div><div class="ttdeci">IntervalValue operator!=(const IntervalValue &other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00171">IntervalValue.h:171</a></div></div>
|
|
970
1024
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
|
|
971
1025
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a926ca60622fdcd225ef7d8b7fd4054b2"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a926ca60622fdcd225ef7d8b7fd4054b2">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s32_t n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00100">IntervalValue.h:100</a></div></div>
|
|
972
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a144e17cec654e83654298b379ed4ce9f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">SVF::IntervalValue::meet_with</a></div><div class="ttdeci">void meet_with(const IntervalValue &other)</div><div class="ttdoc">Return a intersected IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
973
|
-
<div class="ttc" id="anamespaceSVF_html_abf0dfb872989751b13069f859ef408e1"><div class="ttname"><a href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">SVF::operator*</a></div><div class="ttdeci">IntervalValue operator*(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Multiply IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
974
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a8d874a7b6396e8af210c4a36d3234d71"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">SVF::NumericLiteral::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Check if this is zero.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
975
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa3b742bd0116a6b7bf290286902b470b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">SVF::IntervalValue::setUb</a></div><div class="ttdeci">void setUb(const NumericLiteral &ub)</div><div class="ttdoc">Set the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
976
|
-
<div class="ttc" id="anamespaceSVF_html_af95793adab8fb9aa19e19027e73372a6"><div class="ttname"><a href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">SVF::operator<<</a></div><div class="ttdeci">IntervalValue operator<<(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
977
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac06d554ff5f63c43f9b02378800488c1"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">SVF::IntervalValue::equals</a></div><div class="ttdeci">bool equals(const IntervalValue &other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1026
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a144e17cec654e83654298b379ed4ce9f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a144e17cec654e83654298b379ed4ce9f">SVF::IntervalValue::meet_with</a></div><div class="ttdeci">void meet_with(const IntervalValue &other)</div><div class="ttdoc">Return a intersected IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00460">IntervalValue.h:460</a></div></div>
|
|
1027
|
+
<div class="ttc" id="anamespaceSVF_html_abf0dfb872989751b13069f859ef408e1"><div class="ttname"><a href="namespaceSVF.html#abf0dfb872989751b13069f859ef408e1">SVF::operator*</a></div><div class="ttdeci">IntervalValue operator*(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Multiply IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00547">IntervalValue.h:547</a></div></div>
|
|
1028
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a8d874a7b6396e8af210c4a36d3234d71"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a8d874a7b6396e8af210c4a36d3234d71">SVF::NumericLiteral::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Check if this is zero.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00116">NumericLiteral.h:116</a></div></div>
|
|
1029
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa3b742bd0116a6b7bf290286902b470b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa3b742bd0116a6b7bf290286902b470b">SVF::IntervalValue::setUb</a></div><div class="ttdeci">void setUb(const NumericLiteral &ub)</div><div class="ttdoc">Set the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00240">IntervalValue.h:240</a></div></div>
|
|
1030
|
+
<div class="ttc" id="anamespaceSVF_html_af95793adab8fb9aa19e19027e73372a6"><div class="ttname"><a href="namespaceSVF.html#af95793adab8fb9aa19e19027e73372a6">SVF::operator<<</a></div><div class="ttdeci">IntervalValue operator<<(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00836">IntervalValue.h:836</a></div></div>
|
|
1031
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac06d554ff5f63c43f9b02378800488c1"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac06d554ff5f63c43f9b02378800488c1">SVF::IntervalValue::equals</a></div><div class="ttdeci">bool equals(const IntervalValue &other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00356">IntervalValue.h:356</a></div></div>
|
|
978
1032
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa339a88f42bea8c1adfe0db8ba3a5d2a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa339a88f42bea8c1adfe0db8ba3a5d2a">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(NumericLiteral n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00106">IntervalValue.h:106</a></div></div>
|
|
979
1033
|
<div class="ttc" id="anamespaceSVF_html_a366625858f450a1ea5f985a3c83e0f14"><div class="ttname"><a href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">SVF::u64_t</a></div><div class="ttdeci">unsigned long long u64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00048">GeneralType.h:48</a></div></div>
|
|
980
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a35e3062c24a13ac4ed50729339408f65"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u64_t lb, u64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1034
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a35e3062c24a13ac4ed50729339408f65"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a35e3062c24a13ac4ed50729339408f65">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u64_t lb, u64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00122">IntervalValue.h:122</a></div></div>
|
|
981
1035
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a43f48c744f7bda0dc689b8f186449371"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a43f48c744f7bda0dc689b8f186449371">SVF::IntervalValue::minus_infinity</a></div><div class="ttdeci">static NumericLiteral minus_infinity()</div><div class="ttdoc">Get minus infinity -oo.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00066">IntervalValue.h:66</a></div></div>
|
|
982
1036
|
<div class="ttc" id="aclassSVF_1_1AbstractValue_html"><div class="ttname"><a href="classSVF_1_1AbstractValue.html">SVF::AbstractValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00044">AbstractValue.h:44</a></div></div>
|
|
983
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a5d73cc2aa0a6ed49e8301fa7b0cd5045"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">SVF::IntervalValue::toString</a></div><div class="ttdeci">const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1037
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a5d73cc2aa0a6ed49e8301fa7b0cd5045"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">SVF::IntervalValue::toString</a></div><div class="ttdeci">const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00493">IntervalValue.h:493</a></div></div>
|
|
984
1038
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
|
|
985
|
-
<div class="ttc" id="anamespaceSVF_html_abed4354cf0282ae30b8330c0e91008d8"><div class="ttname"><a href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">SVF::operator|</a></div><div class="ttdeci">IntervalValue operator|(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Bitwise OR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
986
|
-
<div class="ttc" id="anamespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator<</a></div><div class="ttdeci">IntervalValue operator<(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
987
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ab7ddcc29a116944a91db24af90d4c144"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">SVF::IntervalValue::widen_with</a></div><div class="ttdeci">void widen_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue widen with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1039
|
+
<div class="ttc" id="anamespaceSVF_html_abed4354cf0282ae30b8330c0e91008d8"><div class="ttname"><a href="namespaceSVF.html#abed4354cf0282ae30b8330c0e91008d8">SVF::operator|</a></div><div class="ttdeci">IntervalValue operator|(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Bitwise OR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00920">IntervalValue.h:920</a></div></div>
|
|
1040
|
+
<div class="ttc" id="anamespaceSVF_html_adeb418bb692b6b0c3498a24927e1068b"><div class="ttname"><a href="namespaceSVF.html#adeb418bb692b6b0c3498a24927e1068b">SVF::operator<</a></div><div class="ttdeci">IntervalValue operator<(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00684">IntervalValue.h:684</a></div></div>
|
|
1041
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ab7ddcc29a116944a91db24af90d4c144"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ab7ddcc29a116944a91db24af90d4c144">SVF::IntervalValue::widen_with</a></div><div class="ttdeci">void widen_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue widen with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00423">IntervalValue.h:423</a></div></div>
|
|
988
1042
|
<div class="ttc" id="acJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
|
|
989
1043
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0827c976d921894e89ca4ac88ecf3f95"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0827c976d921894e89ca4ac88ecf3f95">SVF::IntervalValue::_lb</a></div><div class="ttdeci">NumericLiteral _lb</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00047">IntervalValue.h:47</a></div></div>
|
|
990
1044
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3dba35c84607bd3ed4e62a90ae2799cf"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3dba35c84607bd3ed4e62a90ae2799cf">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">static bool is_infinite(const NumericLiteral &e)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00077">IntervalValue.h:77</a></div></div>
|
|
991
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1045
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00300">IntervalValue.h:300</a></div></div>
|
|
992
1046
|
<div class="ttc" id="aclassSVF_1_1AbstractValue_html_a74bc740e894dfbdb2253bedc2851dd2e"><div class="ttname"><a href="classSVF_1_1AbstractValue.html#a74bc740e894dfbdb2253bedc2851dd2e">SVF::AbstractValue::getAbstractValueKind</a></div><div class="ttdeci">AbstractValueK getAbstractValueKind() const</div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00068">AbstractValue.h:68</a></div></div>
|
|
993
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a304db5abb4cc7added56dbcbcd94d905"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u32_t lb, u32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
994
|
-
<div class="ttc" id="anamespaceSVF_html_aedd9d023a68dddd66314be63bb8e48d2"><div class="ttname"><a href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">SVF::operator></a></div><div class="ttdeci">IntervalValue operator>(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1047
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a304db5abb4cc7added56dbcbcd94d905"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a304db5abb4cc7added56dbcbcd94d905">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(u32_t lb, u32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00120">IntervalValue.h:120</a></div></div>
|
|
1048
|
+
<div class="ttc" id="anamespaceSVF_html_aedd9d023a68dddd66314be63bb8e48d2"><div class="ttname"><a href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">SVF::operator></a></div><div class="ttdeci">IntervalValue operator>(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00633">IntervalValue.h:633</a></div></div>
|
|
995
1049
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
|
|
996
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ab4f45675a9fecb201d0fe05d107fcb97"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">SVF::NumericLiteral::min</a></div><div class="ttdeci">friend NumericLiteral min(const NumericLiteral &lhs, const NumericLiteral &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
997
|
-
<div class="ttc" id="anamespaceSVF_html_a2f3ddba25bc972f70300128369e4cd1d"><div class="ttname"><a href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">SVF::operator%</a></div><div class="ttdeci">IntervalValue operator%(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
998
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac4acd8ca01d2aa1715c18beb46b0ae1d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">SVF::NumericLiteral::is_infinity</a></div><div class="ttdeci">bool is_infinity() const</div><div class="ttdoc">Check if this is infinity (either of plus/minus)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
999
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8de8e78efcee26d74fe3d34c405dee0a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">SVF::IntervalValue::setValue</a></div><div class="ttdeci">void setValue(const NumericLiteral &lb, const NumericLiteral &ub)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1000
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a78b5445006d765160bbcb4ae2e11bd8a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">bool is_infinite() const</div><div class="ttdoc">Return true if the IntervalValue is infinite IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1001
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1050
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ab4f45675a9fecb201d0fe05d107fcb97"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ab4f45675a9fecb201d0fe05d107fcb97">SVF::NumericLiteral::min</a></div><div class="ttdeci">friend NumericLiteral min(const NumericLiteral &lhs, const NumericLiteral &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00417">NumericLiteral.h:417</a></div></div>
|
|
1051
|
+
<div class="ttc" id="anamespaceSVF_html_a2f3ddba25bc972f70300128369e4cd1d"><div class="ttname"><a href="namespaceSVF.html#a2f3ddba25bc972f70300128369e4cd1d">SVF::operator%</a></div><div class="ttdeci">IntervalValue operator%(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00593">IntervalValue.h:593</a></div></div>
|
|
1052
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac4acd8ca01d2aa1715c18beb46b0ae1d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac4acd8ca01d2aa1715c18beb46b0ae1d">SVF::NumericLiteral::is_infinity</a></div><div class="ttdeci">bool is_infinity() const</div><div class="ttdoc">Check if this is infinity (either of plus/minus)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00110">NumericLiteral.h:110</a></div></div>
|
|
1053
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8de8e78efcee26d74fe3d34c405dee0a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8de8e78efcee26d74fe3d34c405dee0a">SVF::IntervalValue::setValue</a></div><div class="ttdeci">void setValue(const NumericLiteral &lb, const NumericLiteral &ub)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00246">IntervalValue.h:246</a></div></div>
|
|
1054
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a78b5445006d765160bbcb4ae2e11bd8a"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a78b5445006d765160bbcb4ae2e11bd8a">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">bool is_infinite() const</div><div class="ttdoc">Return true if the IntervalValue is infinite IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00259">IntervalValue.h:259</a></div></div>
|
|
1055
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral, default type is double in case to support both int and float.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00132">NumericLiteral.h:132</a></div></div>
|
|
1002
1056
|
<div class="ttc" id="aNumericLiteral_8h_html"><div class="ttname"><a href="NumericLiteral_8h.html">NumericLiteral.h</a></div></div>
|
|
1003
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8a9edd3eb9c31ecff090953301bf822d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">SVF::IntervalValue::set_to_top</a></div><div class="ttdeci">void set_to_top()</div><div class="ttdoc">Set current IntervalValue as top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1057
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a8a9edd3eb9c31ecff090953301bf822d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a8a9edd3eb9c31ecff090953301bf822d">SVF::IntervalValue::set_to_top</a></div><div class="ttdeci">void set_to_top()</div><div class="ttdoc">Set current IntervalValue as top.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00313">IntervalValue.h:313</a></div></div>
|
|
1004
1058
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
1005
|
-
<div class="ttc" id="anamespaceSVF_html_a8ca7e84917358976240bc88c3cceb0c2"><div class="ttname"><a href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">SVF::operator&</a></div><div class="ttdeci">IntervalValue operator&(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Bitwise AND of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1006
|
-
<div class="ttc" id="anamespaceSVF_html_a23c136994bc83222e1913d43ec3e7468"><div class="ttname"><a href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">SVF::operator/</a></div><div class="ttdeci">IntervalValue operator/(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1007
|
-
<div class="ttc" id="anamespaceSVF_html_a4bddb7dbd28d3c0deb3cd35e48179a36"><div class="ttname"><a href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">SVF::operator-</a></div><div class="ttdeci">IntervalValue operator-(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Subtract IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1008
|
-
<div class="ttc" id="
|
|
1009
|
-
<div class="ttc" id="
|
|
1010
|
-
<div class="ttc" id="
|
|
1059
|
+
<div class="ttc" id="anamespaceSVF_html_a8ca7e84917358976240bc88c3cceb0c2"><div class="ttname"><a href="namespaceSVF.html#a8ca7e84917358976240bc88c3cceb0c2">SVF::operator&</a></div><div class="ttdeci">IntervalValue operator&(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Bitwise AND of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00893">IntervalValue.h:893</a></div></div>
|
|
1060
|
+
<div class="ttc" id="anamespaceSVF_html_a23c136994bc83222e1913d43ec3e7468"><div class="ttname"><a href="namespaceSVF.html#a23c136994bc83222e1913d43ec3e7468">SVF::operator/</a></div><div class="ttdeci">IntervalValue operator/(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Divide IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00567">IntervalValue.h:567</a></div></div>
|
|
1061
|
+
<div class="ttc" id="anamespaceSVF_html_a4bddb7dbd28d3c0deb3cd35e48179a36"><div class="ttname"><a href="namespaceSVF.html#a4bddb7dbd28d3c0deb3cd35e48179a36">SVF::operator-</a></div><div class="ttdeci">IntervalValue operator-(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Subtract IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00529">IntervalValue.h:529</a></div></div>
|
|
1062
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a75fc2abc930b9405130106a51c29f314"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a75fc2abc930b9405130106a51c29f314">SVF::NumericLiteral::is_int</a></div><div class="ttdeci">bool is_int() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00121">NumericLiteral.h:121</a></div></div>
|
|
1063
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ab8ea498ca849eb969e721772d432b29d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ab8ea498ca849eb969e721772d432b29d">SVF::NumericLiteral::geq</a></div><div class="ttdeci">bool geq(const NumericLiteral &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00183">NumericLiteral.h:183</a></div></div>
|
|
1064
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral & ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00227">IntervalValue.h:227</a></div></div>
|
|
1065
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_aa69f9536301d6529eb1d0caaec2fcc63"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#aa69f9536301d6529eb1d0caaec2fcc63">SVF::NumericLiteral::getRealNumeral</a></div><div class="ttdeci">double getRealNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00143">NumericLiteral.h:143</a></div></div>
|
|
1066
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a42f5bdc956614b4c431f7045f744ac7d"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a42f5bdc956614b4c431f7045f744ac7d">SVF::NumericLiteral::plus_infinity</a></div><div class="ttdeci">static NumericLiteral plus_infinity()</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00077">NumericLiteral.h:77</a></div></div>
|
|
1011
1067
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
|
|
1012
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a970b85f66d80cfc8ca56a8846c921afa"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">SVF::IntervalValue::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Return true if the IntervalValue is [0, 0].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1013
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a9e7a696842de2a4fae08a75d72a807ec"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">SVF::NumericLiteral::max</a></div><div class="ttdeci">friend NumericLiteral max(const NumericLiteral &lhs, const NumericLiteral &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1068
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a970b85f66d80cfc8ca56a8846c921afa"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a970b85f66d80cfc8ca56a8846c921afa">SVF::IntervalValue::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdoc">Return true if the IntervalValue is [0, 0].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00253">IntervalValue.h:253</a></div></div>
|
|
1069
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a9e7a696842de2a4fae08a75d72a807ec"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a9e7a696842de2a4fae08a75d72a807ec">SVF::NumericLiteral::max</a></div><div class="ttdeci">friend NumericLiteral max(const NumericLiteral &lhs, const NumericLiteral &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00422">NumericLiteral.h:422</a></div></div>
|
|
1014
1070
|
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
|
|
1015
1071
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_afcd424e419fe66750c47df21774bb22c"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#afcd424e419fe66750c47df21774bb22c">SVF::IntervalValue::~IntervalValue</a></div><div class="ttdeci">~IntervalValue() override=default</div><div class="ttdoc">Destructor.</div></div>
|
|
1016
1072
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3e10b7d6fd99151cc73b2d942ae75190"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3e10b7d6fd99151cc73b2d942ae75190">SVF::IntervalValue::operator=</a></div><div class="ttdeci">IntervalValue & operator=(const IntervalValue &a)=default</div><div class="ttdoc">Copy assignment operator.</div></div>
|
|
1017
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a1e693e837e8d67ce76a03ec243c94f15"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a1e693e837e8d67ce76a03ec243c94f15">SVF::NumericLiteral::is_minus_infinity</a></div><div class="ttdeci">bool is_minus_infinity() const</div><div class="ttdoc">Check if this is minus infinity.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1073
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a1e693e837e8d67ce76a03ec243c94f15"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a1e693e837e8d67ce76a03ec243c94f15">SVF::NumericLiteral::is_minus_infinity</a></div><div class="ttdeci">bool is_minus_infinity() const</div><div class="ttdoc">Check if this is minus infinity.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00098">NumericLiteral.h:98</a></div></div>
|
|
1018
1074
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
|
|
1019
1075
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa027be2f9243ce4cae799b265b019443"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">SVF::IntervalValue::bottom</a></div><div class="ttdeci">static IntervalValue bottom()</div><div class="ttdoc">Create the bottom IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00089">IntervalValue.h:89</a></div></div>
|
|
1020
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_afcb91d48a79aeba3c78c1a41b0730a73"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">SVF::IntervalValue::contains</a></div><div class="ttdeci">bool contains(int n) const</div><div class="ttdoc">Return true if the IntervalValue contains n.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1021
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac0872619aefd1f680d08d3ec4360537c"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac0872619aefd1f680d08d3ec4360537c">SVF::NumericLiteral::minus_infinity</a></div><div class="ttdeci">static NumericLiteral minus_infinity()</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1076
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_afcb91d48a79aeba3c78c1a41b0730a73"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#afcb91d48a79aeba3c78c1a41b0730a73">SVF::IntervalValue::contains</a></div><div class="ttdeci">bool contains(int n) const</div><div class="ttdoc">Return true if the IntervalValue contains n.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00476">IntervalValue.h:476</a></div></div>
|
|
1077
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_ac0872619aefd1f680d08d3ec4360537c"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#ac0872619aefd1f680d08d3ec4360537c">SVF::NumericLiteral::minus_infinity</a></div><div class="ttdeci">static NumericLiteral minus_infinity()</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00082">NumericLiteral.h:82</a></div></div>
|
|
1078
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a4f9d13c0f642fcad6ddb86ea79fac6e3"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a4f9d13c0f642fcad6ddb86ea79fac6e3">SVF::IntervalValue::getIntNumeral</a></div><div class="ttdeci">s64_t getIntNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00287">IntervalValue.h:287</a></div></div>
|
|
1022
1079
|
<div class="ttc" id="aclassSVF_1_1AbstractValue_html_afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a"><div class="ttname"><a href="classSVF_1_1AbstractValue.html#afc79860ce75455825ff75d1fef804c16ae3efe972f0ed2983803d380f57e2546a">SVF::AbstractValue::IntervalK</a></div><div class="ttdeci">@ IntervalK</div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00050">AbstractValue.h:50</a></div></div>
|
|
1023
1080
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a22796c07a495e1af7252b3dcb60d9940"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a22796c07a495e1af7252b3dcb60d9940">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s64_t n)</div><div class="ttdoc">Create the IntervalValue [n, n].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00098">IntervalValue.h:98</a></div></div>
|
|
1024
1081
|
<div class="ttc" id="acJSON_8cpp_html_a8a1a0a26c50cc4becfc754bb68d1dc6b"><div class="ttname"><a href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a></div><div class="ttdeci">cJSON * a</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02560">cJSON.cpp:2560</a></div></div>
|
|
1025
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a325e99ded5a026ecdae64004b9392f4a"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">SVF::NumericLiteral::equal</a></div><div class="ttdeci">bool equal(const NumericLiteral &rhs) const</div><div class="ttdoc">Check two object is equal.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1026
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6c175067e5573ae7180ae4d872c49c8f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">SVF::IntervalValue::narrow_with</a></div><div class="ttdeci">void narrow_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue narrow with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1027
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac4896347f704db07695f4b8dfc42aad7"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">SVF::IntervalValue::dump</a></div><div class="ttdeci">void dump(std::ostream &o) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1028
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_adf3cae41adaeb62c3b5da19e81adbb5d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">SVF::IntervalValue::setLb</a></div><div class="ttdeci">void setLb(const NumericLiteral &lb)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1029
|
-
<div class="ttc" id="
|
|
1030
|
-
<div class="ttc" id="
|
|
1031
|
-
<div class="ttc" id="
|
|
1082
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a325e99ded5a026ecdae64004b9392f4a"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a325e99ded5a026ecdae64004b9392f4a">SVF::NumericLiteral::equal</a></div><div class="ttdeci">bool equal(const NumericLiteral &rhs) const</div><div class="ttdoc">Check two object is equal.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00154">NumericLiteral.h:154</a></div></div>
|
|
1083
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6c175067e5573ae7180ae4d872c49c8f"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6c175067e5573ae7180ae4d872c49c8f">SVF::IntervalValue::narrow_with</a></div><div class="ttdeci">void narrow_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue narrow with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00442">IntervalValue.h:442</a></div></div>
|
|
1084
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac4896347f704db07695f4b8dfc42aad7"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac4896347f704db07695f4b8dfc42aad7">SVF::IntervalValue::dump</a></div><div class="ttdeci">void dump(std::ostream &o) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00481">IntervalValue.h:481</a></div></div>
|
|
1085
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_adf3cae41adaeb62c3b5da19e81adbb5d"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adf3cae41adaeb62c3b5da19e81adbb5d">SVF::IntervalValue::setLb</a></div><div class="ttdeci">void setLb(const NumericLiteral &lb)</div><div class="ttdoc">Set the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00234">IntervalValue.h:234</a></div></div>
|
|
1086
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a8e19113913c2aa236ab35d3bdd49541c"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">SVF::NumericLiteral::getIntNumeral</a></div><div class="ttdeci">s64_t getIntNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00148">NumericLiteral.h:148</a></div></div>
|
|
1087
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3ac2a92a9d67dec907fa7ae4181dc171"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3ac2a92a9d67dec907fa7ae4181dc171">SVF::IntervalValue::operator==</a></div><div class="ttdeci">IntervalValue operator==(const IntervalValue &other) const</div><div class="ttdoc">Equality comparison.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00137">IntervalValue.h:137</a></div></div>
|
|
1088
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a101633c38e284f6e2bcad852daa3baae"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a101633c38e284f6e2bcad852daa3baae">SVF::IntervalValue::classof</a></div><div class="ttdeci">static bool classof(const IntervalValue *)</div><div class="ttdoc">Methods for support type inquiry through isa, cast, and dyn_cast:</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00208">IntervalValue.h:208</a></div></div>
|
|
1089
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac763bab0b6fedbe5ec5b345c7b260e30"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac763bab0b6fedbe5ec5b345c7b260e30">SVF::IntervalValue::set_to_bottom</a></div><div class="ttdeci">void set_to_bottom()</div><div class="ttdoc">Set current IntervalValue as bottom.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00306">IntervalValue.h:306</a></div></div>
|
|
1032
1090
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a73aee65aae0f2ef368d159d29e1d5a30"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a73aee65aae0f2ef368d159d29e1d5a30">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(NumericLiteral lb, NumericLiteral ub)</div><div class="ttdoc">Create the IntervalValue [lb, ub].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00109">IntervalValue.h:109</a></div></div>
|
|
1033
1091
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a6ec0263a3036734c28cd241007f8a490"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a6ec0263a3036734c28cd241007f8a490">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s64_t lb, s64_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00112">IntervalValue.h:112</a></div></div>
|
|
1034
1092
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a977128211266b93e58e298a7ac29a059"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
|
|
1035
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_aa01880cdfc3b9504bef63a3bf315c54b"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">SVF::NumericLiteral::leq</a></div><div class="ttdeci">bool leq(const NumericLiteral &rhs) const</div><div class="ttdoc">Less then or equal.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1036
|
-
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a538deb0b9e88fd99b9768f5775e58ca7"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a538deb0b9e88fd99b9768f5775e58ca7">SVF::NumericLiteral::is_plus_infinity</a></div><div class="ttdeci">bool is_plus_infinity() const</div><div class="ttdoc">Check if this is plus infinity.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#
|
|
1093
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_aa01880cdfc3b9504bef63a3bf315c54b"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#aa01880cdfc3b9504bef63a3bf315c54b">SVF::NumericLiteral::leq</a></div><div class="ttdeci">bool leq(const NumericLiteral &rhs) const</div><div class="ttdoc">Less then or equal.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00160">NumericLiteral.h:160</a></div></div>
|
|
1094
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a538deb0b9e88fd99b9768f5775e58ca7"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a538deb0b9e88fd99b9768f5775e58ca7">SVF::NumericLiteral::is_plus_infinity</a></div><div class="ttdeci">bool is_plus_infinity() const</div><div class="ttdoc">Check if this is plus infinity.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00104">NumericLiteral.h:104</a></div></div>
|
|
1037
1095
|
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html">SVF::NumericLiteral</a></div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00038">NumericLiteral.h:38</a></div></div>
|
|
1038
|
-
<div class="ttc" id="anamespaceSVF_html_a08938c05911dac4ebd102adfafd14d24"><div class="ttname"><a href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">SVF::operator>=</a></div><div class="ttdeci">IntervalValue operator>=(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1039
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a312f9257f8562fce510c1257d8a6e4df"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">SVF::IntervalValue::geq</a></div><div class="ttdeci">bool geq(const IntervalValue &other) const</div><div class="ttdoc">Check current IntervalValue is greater than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1096
|
+
<div class="ttc" id="anamespaceSVF_html_a08938c05911dac4ebd102adfafd14d24"><div class="ttname"><a href="namespaceSVF.html#a08938c05911dac4ebd102adfafd14d24">SVF::operator>=</a></div><div class="ttdeci">IntervalValue operator>=(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00736">IntervalValue.h:736</a></div></div>
|
|
1097
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a312f9257f8562fce510c1257d8a6e4df"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a312f9257f8562fce510c1257d8a6e4df">SVF::IntervalValue::geq</a></div><div class="ttdeci">bool geq(const IntervalValue &other) const</div><div class="ttdoc">Check current IntervalValue is greater than or equal to the other.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00338">IntervalValue.h:338</a></div></div>
|
|
1098
|
+
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a2fe2eb429c125e33014bab7e21c77b9e"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a2fe2eb429c125e33014bab7e21c77b9e">SVF::NumericLiteral::is_real</a></div><div class="ttdeci">bool is_real() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00126">NumericLiteral.h:126</a></div></div>
|
|
1040
1099
|
<div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00049">GeneralType.h:49</a></div></div>
|
|
1041
1100
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ad1a81f516a61f54a595fa15444e2001b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ad1a81f516a61f54a595fa15444e2001b">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(double n)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00104">IntervalValue.h:104</a></div></div>
|
|
1042
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ae081b5c462f8ed5b306719822e35cea9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1101
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ae081b5c462f8ed5b306719822e35cea9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ae081b5c462f8ed5b306719822e35cea9">SVF::IntervalValue::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00281">IntervalValue.h:281</a></div></div>
|
|
1043
1102
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a50d11cbc14f717d679caafe3cf59e0c5"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a50d11cbc14f717d679caafe3cf59e0c5">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(double lb, double ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00114">IntervalValue.h:114</a></div></div>
|
|
1044
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1045
|
-
<div class="ttc" id="anamespaceSVF_html_a8803e977797624599af5b0a84fe1de3d"><div class="ttname"><a href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">SVF::operator^</a></div><div class="ttdeci">IntervalValue operator^(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Bitwise XOR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1046
|
-
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac3736c3e3129cfdb6ee415ef64c2e75c"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s32_t lb, s32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1103
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00397">IntervalValue.h:397</a></div></div>
|
|
1104
|
+
<div class="ttc" id="anamespaceSVF_html_a8803e977797624599af5b0a84fe1de3d"><div class="ttname"><a href="namespaceSVF.html#a8803e977797624599af5b0a84fe1de3d">SVF::operator^</a></div><div class="ttdeci">IntervalValue operator^(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Bitwise XOR of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00949">IntervalValue.h:949</a></div></div>
|
|
1105
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_ac3736c3e3129cfdb6ee415ef64c2e75c"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#ac3736c3e3129cfdb6ee415ef64c2e75c">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(s32_t lb, s32_t ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00118">IntervalValue.h:118</a></div></div>
|
|
1047
1106
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
|
|
1048
|
-
<div class="ttc" id="
|
|
1107
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aef151a05c0f4a2a1aa3f9091f5258ee6"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aef151a05c0f4a2a1aa3f9091f5258ee6">SVF::IntervalValue::is_real</a></div><div class="ttdeci">bool is_real() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00272">IntervalValue.h:272</a></div></div>
|
|
1108
|
+
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aba604a5a30a77cb199a50814cf695852"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aba604a5a30a77cb199a50814cf695852">SVF::IntervalValue::IntervalValue</a></div><div class="ttdeci">IntervalValue(float lb, float ub)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00116">IntervalValue.h:116</a></div></div>
|
|
1109
|
+
<div class="ttc" id="anamespaceSVF_html_a4b2b5d8755b9f0c4f82a9f82b4631fee"><div class="ttname"><a href="namespaceSVF.html#a4b2b5d8755b9f0c4f82a9f82b4631fee">SVF::operator>></a></div><div class="ttdeci">IntervalValue operator>>(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdoc">Left binary shift of IntervalValues.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00857">IntervalValue.h:857</a></div></div>
|
|
1049
1110
|
<!-- start footer part -->
|
|
1050
1111
|
<hr class="footer"/><address class="footer"><small>
|
|
1051
1112
|
Generated by  <a href="http://www.doxygen.org/index.html">
|