X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fsrc%2FBenchmarks%2FSSJava%2FEyeTracking%2FClassifierTree.java;h=68407754765f61cde443e12b0640557192aecf04;hp=637ac6262af6bc6e5726d81d591b4f7aa7be1fd3;hb=0cb8508d84840263d5b8e83594407bd689521f91;hpb=4f14d8d6bc422295a297396b7174cf2d87de04a1 diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/ClassifierTree.java b/Robust/src/Benchmarks/SSJava/EyeTracking/ClassifierTree.java index 637ac626..68407754 100644 --- a/Robust/src/Benchmarks/SSJava/EyeTracking/ClassifierTree.java +++ b/Robust/src/Benchmarks/SSJava/EyeTracking/ClassifierTree.java @@ -95,14 +95,18 @@ public class ClassifierTree { @LOC("THIS,ClassifierTree.C") int startPosX = (int) lastCoordinates.getX(); @LOC("THIS,ClassifierTree.C") int startPosY = (int) lastCoordinates.getX(); + @LOC("THIS,ClassifierTree.C") int loopidx = 0; TERMINATE: for (@LOC("THIS,ClassifierTree.C") float factorDiff = 0.0f; Math.abs(factorDiff) <= maxScaleDifference; factorDiff = (factorDiff + sgn(factorDiff) * 0.1f) * -1 // we alternate between // negative and positiv // factors ) { + if (++loopidx > 1000) { + return null; + } + @LOC("THIS,ClassifierTree.C") float factor = startFactor + factorDiff; - // System.out.println("factor=" + factor); if (factor > maxScaleFactor || factor < minScaleFactor) continue; @@ -114,16 +118,28 @@ public class ClassifierTree { @LOC("THIS,ClassifierTree.C") int maxDiffX = Math.max(Math.abs(startPosX - maxX), startPosX); @LOC("THIS,ClassifierTree.C") int maxDiffY = Math.max(Math.abs(startPosY - maxY), startPosY); + @LOC("CXY") int xidx = 0; TERMINATE: for (@LOC("CXY") float xDiff = 0.1f; Math.abs(xDiff) <= maxDiffX; xDiff = (xDiff + sgn(xDiff) * 0.5f) * -1) { + + if (++xidx > 1000) { + return null; + } + @LOC("CXY") int xPos = Math.round((float) (startPosX + xDiff)); if (xPos < 0 || xPos > maxX) continue; + @LOC("CXY") int yidx = 0; // yLines: TERMINATE: for (@LOC("CXY") float yDiff = 0.1f; Math.abs(yDiff) <= maxDiffY; yDiff = (yDiff + sgn(yDiff) * 0.5f) * -1) { + + if (++yidx > 1000) { + return null; + } + @LOC("CXY") int yPos = Math.round(startPosY + yDiff); if (yPos < 0 || yPos > maxY) continue;