11import cpp
22import experimental.semmle.code.cpp.semantic.analysis.ModulusAnalysis
33import experimental.semmle.code.cpp.semantic.Semantic
4+ import experimental.semmle.code.cpp.semantic.analysis.RangeUtils
5+ import experimental.semmle.code.cpp.semantic.analysis.FloatDelta
6+ import experimental.semmle.code.cpp.semantic.analysis.RangeAnalysisSpecific
7+ import experimental.semmle.code.cpp.semantic.analysis.RangeAnalysis
48import semmle.code.cpp.ir.IR as IR
59import TestUtilities.InlineExpectationsTest
610
11+ module ModulusAnalysisInstantiated =
12+ ModulusAnalysis< FloatDelta , Bounds , RangeUtil< FloatDelta , CppLangImpl > > ;
13+
714class ModulusAnalysisTest extends InlineExpectationsTest {
815 ModulusAnalysisTest ( ) { this = "ModulusAnalysisTest" }
916
@@ -23,7 +30,7 @@ class ModulusAnalysisTest extends InlineExpectationsTest {
2330
2431private string getAModString ( SemExpr e ) {
2532 exists ( SemBound b , int delta , int mod |
26- semExprModulus ( e , b , delta , mod ) and
33+ ModulusAnalysisInstantiated :: semExprModulus ( e , b , delta , mod ) and
2734 result = b .toString ( ) + "," + delta .toString ( ) + "," + mod .toString ( ) and
2835 not ( delta = 0 and mod = 0 )
2936 )
0 commit comments