changes and data/eval files for new evaluations
authoryeom <yeom>
Wed, 21 Mar 2012 22:12:21 +0000 (22:12 +0000)
committeryeom <yeom>
Wed, 21 Mar 2012 22:12:21 +0000 (22:12 +0000)
118 files changed:
Robust/src/Analysis/SSJava/SSJavaAnalysis.java
Robust/src/Benchmarks/SSJava/EyeTracking/ClassifierTree.java
Robust/src/Benchmarks/SSJava/EyeTracking/DeviationScanner.java
Robust/src/Benchmarks/SSJava/EyeTracking/ImageReader.java
Robust/src/Benchmarks/SSJava/EyeTracking/LEA.bin [deleted file]
Robust/src/Benchmarks/SSJava/EyeTracking/LEA.java
Robust/src/Benchmarks/SSJava/EyeTracking/LEAImplementation.java
Robust/src/Benchmarks/SSJava/EyeTracking/data/b0.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b1.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b10.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b11.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b12.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b13.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b14.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b15.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b16.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b17.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b18.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b19.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b2.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b20.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b21.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b22.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b23.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b24.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b25.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b26.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b27.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b28.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b29.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b3.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b30.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b31.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b32.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b33.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b34.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b35.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b36.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b37.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b38.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b39.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b4.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b40.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b41.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b42.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b43.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b44.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b45.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b46.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b47.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b48.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b49.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b5.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b50.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b51.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b52.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b53.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b54.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b55.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b56.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b57.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b58.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b59.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b6.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b60.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b61.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b62.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b63.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b64.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b65.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b66.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b67.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b68.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b69.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b7.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b70.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b71.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b72.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b73.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b8.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/data/b9.bmp [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/error.txt [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/error_100000000_5501.trace [deleted file]
Robust/src/Benchmarks/SSJava/EyeTracking/eval/errinj-history22222.txt [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/EyeTracking/makefile
Robust/src/Benchmarks/SSJava/EyeTracking/observe-new-error-seed.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/EyeTracking/run-batch-mode.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/EyeTracking/run-error-batchmode.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/EyeTracking/run-error.sh
Robust/src/Benchmarks/SSJava/EyeTracking/run-normal.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/JavaNator/MotorControl.java
Robust/src/Benchmarks/SSJava/JavaNator/RobotMain.java
Robust/src/Benchmarks/SSJava/JavaNator/StrategyMgr.java
Robust/src/Benchmarks/SSJava/JavaNator/TestSensorInput.java
Robust/src/Benchmarks/SSJava/JavaNator/input.dat
Robust/src/Benchmarks/SSJava/JavaNator/inputshort.dat [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/JavaNator/makefile
Robust/src/Benchmarks/SSJava/JavaNator/observe-new-error-seed.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/JavaNator/run-batch-mode.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/JavaNator/run-error-batchmode.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/JavaNator/run-normal.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/MP3Decoder/BitReserve.java
Robust/src/Benchmarks/SSJava/MP3Decoder/Bitstream.java
Robust/src/Benchmarks/SSJava/MP3Decoder/DataParse.java [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/MP3Decoder/Header.java
Robust/src/Benchmarks/SSJava/MP3Decoder/Player.java
Robust/src/Benchmarks/SSJava/MP3Decoder/SampleBuffer.java
Robust/src/Benchmarks/SSJava/MP3Decoder/eval/5001_6000_errinj_history.txt [new file with mode: 0644]
Robust/src/Benchmarks/SSJava/MP3Decoder/eval/errinj-history901.txt [deleted file]
Robust/src/Benchmarks/SSJava/MP3Decoder/makefile
Robust/src/Benchmarks/SSJava/MP3Decoder/parse.sh [new file with mode: 0755]
Robust/src/Benchmarks/SSJava/MP3Decoder/plot-normal-vs-error.sh
Robust/src/Benchmarks/SSJava/MP3Decoder/run
Robust/src/Benchmarks/SSJava/MP3Decoder/run-batch-mode.sh
Robust/src/Benchmarks/SSJava/MP3Decoder/run-error-batchmode.sh
Robust/src/ClassLibrary/SSJava/Float.java
Robust/src/IR/Flat/BCXSSJavaInjectError.java
Robust/src/IR/State.java

index bf1c6f12df1262f7c36be0b67cd2c4538465881a..146af4e6215a5bc2b8696df6c15177c10a15a79f 100644 (file)
@@ -115,11 +115,11 @@ public class SSJavaAnalysis {
     doMethodAnnotationCheck();
     computeLinearTypeCheckMethodSet();
     doLinearTypeCheck();
-    // if (state.SSJAVADEBUG) {
-    // debugPrint();
-    // }
+    if (state.SSJAVADEBUG) {
+      // debugPrint();
+    }
     if (state.SSJAVAINFER) {
-      inference();
+      // inference();
     } else {
       parseLocationAnnotation();
       doFlowDownCheck();
@@ -227,6 +227,7 @@ public class SSJavaAnalysis {
     methodAnnotationChecker = new MethodAnnotationCheck(this, state, tu);
     methodAnnotationChecker.methodAnnoatationCheck();
     methodAnnotationChecker.methodAnnoataionInheritanceCheck();
+    state.setAnnotationRequireSet(annotationRequireSet);
   }
 
   public void doFlowDownCheck() {
index 637ac6262af6bc6e5726d81d591b4f7aa7be1fd3..68407754765f61cde443e12b0640557192aecf04 100644 (file)
@@ -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;
index 7d5dab744eb586d6e73f614ef81b8810b041eb37..851a99bd805802bb4f0c11587dda1bd276ecddf5 100644 (file)
@@ -64,6 +64,7 @@ public class DeviationScanner {
   @LATTICE("THIS<C,THIS<IN,THISLOC=THIS,C*")\r
   @RETURNLOC("THIS,DeviationScanner.DEV")\r
   public int scanForDeviation(@LOC("IN") Rectangle2D faceRect) {\r
+\r
     @LOC("THIS,DeviationScanner.DEV") int deviation = NONE;\r
 \r
     for (@LOC("C") int i = 0; i < 3; i++) {\r
index d89c14cd1f477e39be6bb21df7f048931103be9d..36aa569f35135b7ebf2ae315c7bd9cbccfcfaf17 100644 (file)
@@ -1,8 +1,21 @@
 public class ImageReader {
+
+  static int idx = 0;
+
   public ImageReader() {
   }
 
   @TRUST
+  public static Image getImage() {
+    System.out.println(idx);
+    Image image = ImageReader.readImage("data/b" + idx + ".bmp");
+    idx++;
+    if (idx > 73) {
+      return null;
+    }
+    return image;
+  }
+
   public static Image readImage(String file) {
 
     FileInputStream fs = new FileInputStream(file);
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/LEA.bin b/Robust/src/Benchmarks/SSJava/EyeTracking/LEA.bin
deleted file mode 100755 (executable)
index 5cd4ff7..0000000
Binary files a/Robust/src/Benchmarks/SSJava/EyeTracking/LEA.bin and /dev/null differ
index d8e593c7b1b2bca1cb63d1753a94924afc631c64..c20bc937e91cc6ac51f0939b5b9abd96f8e0e6ba 100644 (file)
@@ -94,10 +94,8 @@ public class LEA {
 
     @LOC("C") int i = 0;
 
-    SSJAVA: while (Counter.idx() < 37) {
-      @LOC("IMG") Image image = ImageReader.readImage("data/b" + Counter.idx() + ".bmp");
-      Counter.inc();
-      // i++;
+    SSJAVA: while (true) {
+      @LOC("IMG") Image image =  ImageReader.getImage();
       if (image == null) {
         break;
       }
@@ -107,6 +105,7 @@ public class LEA {
     System.out.println("Done.");
 
   }
+  
 
   private void processImage(@LOC("IN") Image image) {
     @LOC("THIS,LEA.POS") FaceAndEyePosition positions = implementation.getEyePosition(image);
index 9af4e56f74a62949fe897c708d1caf6c3f1df28b..e77c0e241abfdfa62b505bb5782f8e9063d0dd77 100644 (file)
@@ -40,9 +40,11 @@ public class LEAImplementation {
   public FaceAndEyePosition getEyePosition(@LOC("IN") Image image) {
     if (image == null)
       return null;
-
     @LOC("THIS,LEAImplementation.R") Rectangle2D faceRect =
         classifierTree.locateFaceRadial(image, lastRectangle);
+    if (faceRect.getWidth() > image.getWidth() || faceRect.getHeight() > image.getHeight()) {
+      return null;
+    }
     @LOC("V") EyePosition eyePosition = null;
     if (faceRect != null) {
       lastRectangle = faceRect;
@@ -56,7 +58,7 @@ public class LEAImplementation {
     }
     System.out.println("eyePosition=" + eyePosition);
 
-    return new FaceAndEyePosition(faceRect, eyePosition);
+    return new FaceAndEyePosition(lastRectangle, eyePosition);
   }
 
   @LATTICE("OUT<IN,OUT<THIS,THISLOC=THIS,RETURNLOC=OUT")
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b0.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b0.bmp
new file mode 100644 (file)
index 0000000..e26bcc1
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b0.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b1.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b1.bmp
new file mode 100644 (file)
index 0000000..fe142fc
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b1.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b10.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b10.bmp
new file mode 100644 (file)
index 0000000..9c19716
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b10.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b11.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b11.bmp
new file mode 100644 (file)
index 0000000..7332e86
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b11.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b12.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b12.bmp
new file mode 100644 (file)
index 0000000..2878e80
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b12.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b13.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b13.bmp
new file mode 100644 (file)
index 0000000..40116b8
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b13.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b14.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b14.bmp
new file mode 100644 (file)
index 0000000..862b1ba
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b14.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b15.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b15.bmp
new file mode 100644 (file)
index 0000000..5c99c61
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b15.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b16.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b16.bmp
new file mode 100644 (file)
index 0000000..7b15f22
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b16.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b17.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b17.bmp
new file mode 100644 (file)
index 0000000..1d65b25
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b17.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b18.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b18.bmp
new file mode 100644 (file)
index 0000000..01811b1
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b18.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b19.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b19.bmp
new file mode 100644 (file)
index 0000000..9459093
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b19.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b2.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b2.bmp
new file mode 100644 (file)
index 0000000..7b1f138
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b2.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b20.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b20.bmp
new file mode 100644 (file)
index 0000000..7e146cc
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b20.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b21.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b21.bmp
new file mode 100644 (file)
index 0000000..9614713
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b21.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b22.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b22.bmp
new file mode 100644 (file)
index 0000000..406d39e
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b22.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b23.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b23.bmp
new file mode 100644 (file)
index 0000000..98f3677
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b23.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b24.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b24.bmp
new file mode 100644 (file)
index 0000000..14b1779
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b24.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b25.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b25.bmp
new file mode 100644 (file)
index 0000000..b78f59c
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b25.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b26.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b26.bmp
new file mode 100644 (file)
index 0000000..8dd86de
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b26.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b27.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b27.bmp
new file mode 100644 (file)
index 0000000..a9fc531
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b27.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b28.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b28.bmp
new file mode 100644 (file)
index 0000000..4600225
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b28.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b29.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b29.bmp
new file mode 100644 (file)
index 0000000..ecbacb5
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b29.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b3.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b3.bmp
new file mode 100644 (file)
index 0000000..dd58c99
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b3.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b30.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b30.bmp
new file mode 100644 (file)
index 0000000..e86dc47
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b30.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b31.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b31.bmp
new file mode 100644 (file)
index 0000000..30b2c56
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b31.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b32.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b32.bmp
new file mode 100644 (file)
index 0000000..d352cb6
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b32.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b33.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b33.bmp
new file mode 100644 (file)
index 0000000..f6318f8
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b33.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b34.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b34.bmp
new file mode 100644 (file)
index 0000000..e1ee983
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b34.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b35.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b35.bmp
new file mode 100644 (file)
index 0000000..9fcb14a
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b35.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b36.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b36.bmp
new file mode 100644 (file)
index 0000000..2120213
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b36.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b37.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b37.bmp
new file mode 100644 (file)
index 0000000..e26bcc1
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b37.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b38.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b38.bmp
new file mode 100644 (file)
index 0000000..fe142fc
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b38.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b39.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b39.bmp
new file mode 100644 (file)
index 0000000..7b1f138
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b39.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b4.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b4.bmp
new file mode 100644 (file)
index 0000000..74f3b93
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b4.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b40.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b40.bmp
new file mode 100644 (file)
index 0000000..dd58c99
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b40.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b41.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b41.bmp
new file mode 100644 (file)
index 0000000..74f3b93
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b41.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b42.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b42.bmp
new file mode 100644 (file)
index 0000000..0c263ad
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b42.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b43.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b43.bmp
new file mode 100644 (file)
index 0000000..43721b0
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b43.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b44.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b44.bmp
new file mode 100644 (file)
index 0000000..a8ebbac
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b44.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b45.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b45.bmp
new file mode 100644 (file)
index 0000000..24d3522
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b45.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b46.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b46.bmp
new file mode 100644 (file)
index 0000000..27f166b
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b46.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b47.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b47.bmp
new file mode 100644 (file)
index 0000000..9c19716
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b47.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b48.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b48.bmp
new file mode 100644 (file)
index 0000000..7332e86
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b48.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b49.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b49.bmp
new file mode 100644 (file)
index 0000000..2878e80
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b49.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b5.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b5.bmp
new file mode 100644 (file)
index 0000000..0c263ad
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b5.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b50.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b50.bmp
new file mode 100644 (file)
index 0000000..40116b8
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b50.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b51.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b51.bmp
new file mode 100644 (file)
index 0000000..862b1ba
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b51.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b52.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b52.bmp
new file mode 100644 (file)
index 0000000..5c99c61
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b52.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b53.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b53.bmp
new file mode 100644 (file)
index 0000000..7b15f22
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b53.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b54.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b54.bmp
new file mode 100644 (file)
index 0000000..1d65b25
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b54.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b55.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b55.bmp
new file mode 100644 (file)
index 0000000..01811b1
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b55.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b56.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b56.bmp
new file mode 100644 (file)
index 0000000..9459093
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b56.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b57.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b57.bmp
new file mode 100644 (file)
index 0000000..7e146cc
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b57.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b58.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b58.bmp
new file mode 100644 (file)
index 0000000..9614713
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b58.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b59.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b59.bmp
new file mode 100644 (file)
index 0000000..406d39e
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b59.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b6.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b6.bmp
new file mode 100644 (file)
index 0000000..43721b0
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b6.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b60.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b60.bmp
new file mode 100644 (file)
index 0000000..98f3677
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b60.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b61.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b61.bmp
new file mode 100644 (file)
index 0000000..14b1779
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b61.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b62.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b62.bmp
new file mode 100644 (file)
index 0000000..b78f59c
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b62.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b63.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b63.bmp
new file mode 100644 (file)
index 0000000..8dd86de
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b63.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b64.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b64.bmp
new file mode 100644 (file)
index 0000000..a9fc531
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b64.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b65.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b65.bmp
new file mode 100644 (file)
index 0000000..4600225
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b65.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b66.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b66.bmp
new file mode 100644 (file)
index 0000000..ecbacb5
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b66.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b67.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b67.bmp
new file mode 100644 (file)
index 0000000..e86dc47
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b67.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b68.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b68.bmp
new file mode 100644 (file)
index 0000000..30b2c56
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b68.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b69.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b69.bmp
new file mode 100644 (file)
index 0000000..d352cb6
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b69.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b7.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b7.bmp
new file mode 100644 (file)
index 0000000..a8ebbac
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b7.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b70.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b70.bmp
new file mode 100644 (file)
index 0000000..f6318f8
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b70.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b71.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b71.bmp
new file mode 100644 (file)
index 0000000..e1ee983
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b71.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b72.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b72.bmp
new file mode 100644 (file)
index 0000000..9fcb14a
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b72.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b73.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b73.bmp
new file mode 100644 (file)
index 0000000..2120213
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b73.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b8.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b8.bmp
new file mode 100644 (file)
index 0000000..24d3522
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b8.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/data/b9.bmp b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b9.bmp
new file mode 100644 (file)
index 0000000..27f166b
Binary files /dev/null and b/Robust/src/Benchmarks/SSJava/EyeTracking/data/b9.bmp differ
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/error.txt b/Robust/src/Benchmarks/SSJava/EyeTracking/error.txt
new file mode 100644 (file)
index 0000000..c2d0097
--- /dev/null
@@ -0,0 +1,160 @@
+0
+eyePosition=(89,72)
+1
+eyePosition=(91,75)
+2
+eyePosition=(91,70)
+3
+eyePosition=(91,70)
+4
+eyePosition=(98,79)
+5
+eyePosition=(100,79)
+6
+eyePosition=(98,77)
+7
+eyePosition=(98,77)
+8
+eyePosition=(117,84)
+deviation=LEFT
+9
+eyePosition=(120,78)
+10
+eyePosition=(121,79)
+11
+eyePosition=(121,77)
+12
+eyePosition=(119,78)
+13
+eyePosition=(120,79)
+14
+eyePosition=(119,77)
+15
+eyePosition=(119,77)
+16
+eyePosition=(121,79)
+17
+eyePosition=(72,80)
+deviation=RIGHT
+18
+eyePosition=(105,84)
+19
+eyePosition=(73,82)
+20
+eyePosition=(121,81)
+deviation=LEFT
+21
+eyePosition=(120,79)
+22
+eyePosition=(120,78)
+23
+eyePosition=(120,78)
+24
+eyePosition=(121,81)
+25
+eyePosition=(121,81)
+26
+eyePosition=(71,81)
+deviation=RIGHT
+27
+eyePosition=(71,81)
+28
+eyePosition=(121,81)
+29
+eyePosition=(121,81)
+deviation=LEFT
+30
+eyePosition=(119,80)
+31
+eyePosition=(119,81)
+32
+eyePosition=(97,81)
+deviation=RIGHT
+33
+eyePosition=(92,80)
+34
+eyePosition=(92,81)
+35
+eyePosition=(92,80)
+36
+eyePosition=(92,80)
+37
+eyePosition=(85,75)
+38
+eyePosition=(87,79)
+39
+eyePosition=(87,74)
+40
+eyePosition=(87,74)
+41
+eyePosition=(94,78)
+42
+eyePosition=(96,78)
+43
+eyePosition=(94,76)
+44
+eyePosition=(94,77)
+45
+eyePosition=(113,84)
+deviation=LEFT
+46
+eyePosition=(116,78)
+47
+eyePosition=(117,79)
+48
+eyePosition=(117,78)
+49
+eyePosition=(117,79)
+50
+eyePosition=(118,82)
+51
+eyePosition=(117,80)
+52
+eyePosition=(117,80)
+53
+eyePosition=(119,82)
+54
+eyePosition=(71,80)
+deviation=RIGHT
+55
+eyePosition=(104,83)
+56
+eyePosition=(72,82)
+57
+eyePosition=(120,81)
+deviation=LEFT
+58
+eyePosition=(119,78)
+59
+eyePosition=(119,78)
+60
+eyePosition=(119,78)
+61
+eyePosition=(121,81)
+62
+eyePosition=(121,81)
+63
+eyePosition=(71,81)
+deviation=RIGHT
+64
+eyePosition=(71,81)
+65
+eyePosition=(121,81)
+66
+eyePosition=(121,81)
+deviation=LEFT
+67
+eyePosition=(119,80)
+68
+eyePosition=(119,81)
+69
+eyePosition=(97,81)
+deviation=RIGHT
+70
+eyePosition=(92,80)
+71
+eyePosition=(92,81)
+72
+eyePosition=(92,80)
+73
+Done.
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/error_100000000_5501.trace b/Robust/src/Benchmarks/SSJava/EyeTracking/error_100000000_5501.trace
deleted file mode 100644 (file)
index dfb611e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-SSJAVA: Divided by zero at file:injerr/methods.c, func:___Float______staticblocks____, line:1605 
-SSJAVA: Divided by zero at file:injerr/methods.c, func:___Float______staticblocks____, line:1627 
-SSJAVA: Divided by zero at file:injerr/methods.c, func:___Float______staticblocks____, line:1649 
-eyePosition=(89,72)
-eyePosition=(91,75)
-eyePosition=(91,70)
-eyePosition=(91,70)
-eyePosition=(98,79)
-eyePosition=(100,79)
-eyePosition=(98,77)
-eyePosition=(98,77)
-eyePosition=(117,84)
-deviation=LEFT
-eyePosition=(120,78)
-eyePosition=(121,79)
-eyePosition=(121,77)
-eyePosition=(119,78)
-SSJAVA: Injecting error at file:injerr/methods.c, func:___ImageReader______readImage____L___String___, line:4927 
-eyePosition=(120,79)
-eyePosition=(119,77)
-eyePosition=(119,77)
-eyePosition=(121,79)
-eyePosition=(72,80)
-deviation=RIGHT
-eyePosition=(105,84)
-eyePosition=(73,82)
-eyePosition=(121,81)
-deviation=LEFT
-eyePosition=(120,79)
-eyePosition=(120,78)
-eyePosition=(120,78)
-eyePosition=(121,81)
-eyePosition=(121,81)
-eyePosition=(71,81)
-deviation=RIGHT
-eyePosition=(71,81)
-eyePosition=(121,81)
-eyePosition=(121,81)
-deviation=LEFT
-eyePosition=(119,80)
-eyePosition=(119,81)
-eyePosition=(97,81)
-deviation=RIGHT
-eyePosition=(92,80)
-eyePosition=(92,81)
-eyePosition=(92,80)
-eyePosition=(92,80)
-Done.
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/eval/errinj-history22222.txt b/Robust/src/Benchmarks/SSJava/EyeTracking/eval/errinj-history22222.txt
new file mode 100644 (file)
index 0000000..b4a5519
--- /dev/null
@@ -0,0 +1,762 @@
+idx 22222
+NO DIFF
+idx 22223
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22224
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22225
+NO DIFF
+idx 22226
+NO DIFF
+idx 22227
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj 1
+inj SSJAVA:
+idx 22228
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22229
+NO DIFF
+idx 22230
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22231
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+2
+idx 22232
+NO DIFF
+idx 22233
+NO DIFF
+idx 22234
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22235
+NO DIFF
+idx 22236
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22237
+NO DIFF
+idx 22238
+NO DIFF
+idx 22239
+NO DIFF
+idx 22240
+inj 12
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22241
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+2
+idx 22242
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22243
+NO DIFF
+idx 22244
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22245
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22246
+inj 8
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj eyePosition=(117,84)
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22247
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22248
+NO DIFF
+idx 22249
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22250
+NO DIFF
+idx 22251
+inj 51
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj eyePosition=(117,80)
+inj SSJAVA:
+NO DIFF
+idx 22252
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22253
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj 1
+idx 22254
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22255
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22256
+NO DIFF
+idx 22257
+NO DIFF
+idx 22258
+NO DIFF
+idx 22259
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22260
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+idx 22261
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22262
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22263
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+2
+idx 22264
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22265
+NO DIFF
+idx 22266
+NO DIFF
+idx 22267
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22268
+NO DIFF
+idx 22269
+NO DIFF
+idx 22270
+NO DIFF
+idx 22271
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22272
+inj 11
+inj SSJAVA:
+inj SSJAVA:
+inj eyePosition=(116,72)
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj 12
+inj SSJAVA:
+inj SSJAVA:
+idx 22273
+inj 12
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj eyePosition=(104,70)
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj 13
+idx 22274
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22275
+inj 22
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22276
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22277
+NO DIFF
+idx 22278
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22279
+NO DIFF
+idx 22280
+NO DIFF
+idx 22281
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22282
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22283
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22284
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22285
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22286
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22287
+NO DIFF
+idx 22288
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22289
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22290
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22291
+NO DIFF
+idx 22292
+inj 7
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj eyePosition=(98,77)
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+idx 22293
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22294
+NO DIFF
+idx 22295
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22296
+NO DIFF
+idx 22297
+NO DIFF
+idx 22298
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22299
+NO DIFF
+idx 22300
+NO DIFF
+idx 22301
+NO DIFF
+idx 22302
+NO DIFF
+idx 22303
+inj 18
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+idx 22304
+NO DIFF
+idx 22305
+NO DIFF
+idx 22306
+NO DIFF
+idx 22307
+NO DIFF
+idx 22308
+NO DIFF
+idx 22309
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22310
+NO DIFF
+idx 22311
+NO DIFF
+idx 22312
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22313
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj 1
+inj SSJAVA:
+inj SSJAVA:
+idx 22314
+NO DIFF
+idx 22315
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+2
+idx 22316
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+2
+idx 22317
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22318
+NO DIFF
+idx 22319
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
+idx 22320
+NO DIFF
+idx 22321
+inj 0
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+inj SSJAVA:
+NO DIFF
index 72e7541ce2fa7488044cadc054cc8660960b8545..6b9c3c886decaa374f58cc08914e943a82f6cb65 100644 (file)
@@ -13,7 +13,7 @@ RANDOMSEED=12345
 endif
 
 SSJAVA= -ssjava -ssjavadebug
-BSFLAGS= -32bit -mainclass $(PROGRAM)  -heapsize-mb 1000  -nooptimize -debug -garbagestats #-printlinenum #-joptimize
+BSFLAGS= -32bit -mainclass $(PROGRAM)  -heapsize-mb 1000  -nooptimize -debug -garbagestats -printlinenum #-joptimize
 NORMAL= -ssjava-inject-error 0 0
 INJECT_ERROR= -ssjava-inject-error $(INV_ERROR_PROB) $(RANDOMSEED)
 
@@ -24,7 +24,6 @@ normal: $(PROGRAM)n.bin
 
 error: $(PROGRAM)e.bin
 
-
 $(PROGRAM)s.bin: $(SOURCE_FILES) makefile
        $(BUILDSCRIPT) $(SSJAVA) $(BSFLAGS) -o $(PROGRAM)s -builddir ssj $(SOURCE_FILES) 
 
@@ -32,7 +31,10 @@ $(PROGRAM)n.bin: $(SOURCE_FILES) makefile
        $(BUILDSCRIPT) $(NORMAL) $(BSFLAGS) -o $(PROGRAM)n -builddir norm $(SOURCE_FILES) 
 
 $(PROGRAM)e.bin: $(SOURCE_FILES) makefile
-       $(BUILDSCRIPT) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
+       $(BUILDSCRIPT) $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
+
+error-remake-c:
+       $(BUILDSCRIPT) -nojava  $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
 
 cleanerror:
        rm -f $(PROGRAM)e.bin
@@ -45,7 +47,6 @@ clean:
        rm -f  *~
        rm -f  *.dot
        rm -f  *.png
-       rm -f  *.txt
        rm -f  aliases.txt
        rm -f  results*txt
        rm -f *log
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/observe-new-error-seed.sh b/Robust/src/Benchmarks/SSJava/EyeTracking/observe-new-error-seed.sh
new file mode 100755 (executable)
index 0000000..b2b699a
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+usage () {
+  echo 'usage:'
+  echo '  observe-new-error-seed <inv prob> <random seed> '
+}
+
+
+if [[ -z $1 ]] ; then
+  usage
+  echo 'Please supply an inverse probability. (e.g. 1000)'
+  exit
+fi
+
+if [[ -z $2 ]] ; then
+  usage
+  echo 'Please supply a random seed.'
+  exit
+fi
+
+trycommand () {
+  $1
+  if [[ ! $? ]] ; then
+    echo "FAILED: $1"
+    exit
+  fi  
+}
+
+trycommand "make cleanerror"
+trycommand "make error INV_ERROR_PROB=$1 RANDOMSEED=$2"
+trycommand "run-error-batchmode.sh output.tmp"
+trycommand "cat output.tmp"
+trycommand "rm output.tmp"
+
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/run-batch-mode.sh b/Robust/src/Benchmarks/SSJava/EyeTracking/run-batch-mode.sh
new file mode 100755 (executable)
index 0000000..bb3e16e
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+usage () {
+  echo 'usage:'
+  echo '  run-batch-mode <random seed>'
+}
+
+if [[ -z $1 ]] ; then
+  usage
+  echo 'Please supply the initial random seed. (e.g. 9090)'
+  exit
+fi
+
+trycommand () {
+  $1
+  if [[ ! $? ]] ; then
+    echo "FAILED: $1"
+    exit
+  fi  
+}
+
+H=errinj-history.txt
+D=errinj-diff.tmp
+X=errinj-diff-ranges.tmp
+T=errinj-range.tmp
+
+trycommand "rm $H"
+
+trycommand "make clean"
+echo "### make normal"
+trycommand "make normal"
+echo "### run normal"
+trycommand "run-normal.sh"
+
+max=$(($1+100))
+
+for (( i=$1;i<max;i++))
+do
+  echo 'idx' $i >> $H
+  trycommand "rm $X"
+  trycommand "make cleanerror"
+  echo "### make error"
+  trycommand "make error INV_ERROR_PROB=100000000 RANDOMSEED=$i"
+  echo "### run error"
+  trycommand "run-error-batchmode.sh $H"
+  diff normal.txt error.txt > $D
+  sed \
+  -e '/^[^0-9]/ d' \
+  -e  's/\(.*\),\(.*\)c.*/\1/' \
+  -e  's/\(.*\)c.*/\1/' \
+  -e  's/\(.*\)a.*/\1/' \
+  $D >> $X
+  if [[ -s $D ]] ; then
+    awk 'NR==1;END{print}' $X > $T
+    awk 'NR==1{s=$0;getline;e=$0;if(s==e) print s}' $T >> $H
+  else
+    echo 'NO DIFF' >> $H
+  fi
+done
+
+
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/run-error-batchmode.sh b/Robust/src/Benchmarks/SSJava/EyeTracking/run-error-batchmode.sh
new file mode 100755 (executable)
index 0000000..c5e7b0e
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+LEAe.bin > error.txt
+
+grep "SSJAVA: Injecting error" error.txt
+
+awk '{if($1=="SSJAVA:" && $2=="Injecting"){print "inj",x};{x=$1} }' error.txt >> $1 
+
+X=converterTempFile
+
+sed -e '/^SSJAVA:/ d'  error.txt > $X  
+#sed -e '/^SSJAVA:/ d' -e '1,/+++/ d' error.txt > $X  
+
+mv $X error.txt
index 691c16d27a9a4e089334f6468b508419624869c8..2fbe905f0cebcdf8fd9f491f7024c4847334ac07 100755 (executable)
@@ -4,4 +4,4 @@ LEAe.bin > error.txt
 
 grep "SSJAVA: Injecting error" error.txt
 
-#mp3samples2plotData.sh error.txt
\ No newline at end of file
+diff normal.txt error.txt
\ No newline at end of file
diff --git a/Robust/src/Benchmarks/SSJava/EyeTracking/run-normal.sh b/Robust/src/Benchmarks/SSJava/EyeTracking/run-normal.sh
new file mode 100755 (executable)
index 0000000..1dbc9ba
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+LEAn.bin > normal.txt
+
+X=converterTempFile
+
+sed -e '/^SSJAVA:/ d'  normal.txt > $X  
+
+mv $X normal.txt
index 0a879fa177d530bee636930144f7fcd8248a9aaa..fcc4e16929727550dcffdd26e6cb03dcce6267b3 100644 (file)
@@ -28,7 +28,7 @@
 @METHODDEFAULT("OUT<THIS,THIS<V,V<IN,V*,THISLOC=THIS,RETURNLOC=OUT")\r
 public class MotorControl {\r
   @LOC("T")\r
-  boolean DEBUG = false;\r
+  boolean DEBUG = true;\r
   @LOC("UP")\r
   int motorLeftUpTime = 150;\r
   @LOC("UP")\r
@@ -83,13 +83,17 @@ public class MotorControl {
       motorUpTime--;\r
     }\r
 \r
-    if (DEBUG) {\r
-      System.out.println("setSpeedSpinLeft: output-> = " + Integer.toString(motorUpTime));\r
-    }\r
+    // if (DEBUG) {\r
+    // System.out.println("setSpeedSpinLeft: output-> = " +\r
+    // Integer.toString(motorUpTime));\r
+    // }\r
     // synchronized (this) {\r
     /* Factor in the speed and agility factors */\r
     motorLeftUpTime = motorUpTime;\r
     // }\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setSpeedSpinLeft: output-> " + motorLeftUpTime);\r
+    }\r
   }\r
 \r
   /**\r
@@ -118,13 +122,17 @@ public class MotorControl {
       motorUpTime--;\r
     }\r
 \r
-    if (DEBUG) {\r
-      System.out.println("setSpeedSpinRight: output-> = " + Integer.toString(motorUpTime));\r
-    }\r
+    // if (DEBUG) {\r
+    // System.out.println("setSpeedSpinRight: output-> = " +\r
+    // Integer.toString(motorUpTime));\r
+    // }\r
     // synchronized (this) {\r
     /* Factor in the speed and agility factors */\r
     motorRightUpTime = motorUpTime;\r
     // }\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setSpeedSpinRight: output-> " + motorRightUpTime);\r
+    }\r
   }\r
 \r
   /**\r
@@ -151,13 +159,17 @@ public class MotorControl {
     } else if (motorUpTime == 1000000) {\r
       motorUpTime--;\r
     }\r
-    if (DEBUG) {\r
-      System.out.println("setSpeedTurnLeft: output-> = " + Integer.toString(motorUpTime));\r
-    }\r
+    // if (DEBUG) {\r
+    // System.out.println("setSpeedTurnLeft: output-> = " +\r
+    // Integer.toString(motorUpTime));\r
+    // }\r
     // synchronized (this) {\r
     /* Factor in the speed and agility factors */\r
     motorLeftUpTime = motorUpTime;\r
     // }\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setSpeedTurnLeft: output-> " + motorLeftUpTime);\r
+    }\r
   }\r
 \r
   /**\r
@@ -183,13 +195,13 @@ public class MotorControl {
       motorUpTime--;\r
     }\r
 \r
-    if (DEBUG) {\r
-      System.out.println("setSpeedTurnRight: output-> " + Integer.toString(motorUpTime));\r
-    }\r
     // synchronized (this) {\r
     /* Factor in the speed and agility factors */\r
     motorRightUpTime = motorUpTime;\r
     // }\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setSpeedTurnRight: output-> " + motorRightUpTime);\r
+    }\r
   }\r
 \r
   /**\r
@@ -221,13 +233,15 @@ public class MotorControl {
     } else if (motorUpTime == 1000000) {\r
       motorUpTime--;\r
     }\r
-    if (DEBUG) {\r
-      System.out.println("setSpeedLeft: output-> " + Integer.toString(motorUpTime));\r
-    }\r
+\r
     // synchronized (this) {\r
     /* Factor in speedFactor */\r
     motorLeftUpTime = motorUpTime;\r
     // }\r
+    if (DEBUG) {\r
+      System.out\r
+          .println("MotorContol: setSpeedLeft: output-> " + Integer.toString(motorLeftUpTime));\r
+    }\r
   }\r
 \r
   /**\r
@@ -251,13 +265,13 @@ public class MotorControl {
     } else if (motorUpTime == 1000000) {\r
       motorUpTime--;\r
     }\r
-    if (DEBUG) {\r
-      System.out.println("setSpeedRight: output-> " + Integer.toString(motorUpTime));\r
-    }\r
     // synchronized (this) {\r
     /* Factor in speedFactor */\r
     motorRightUpTime = motorUpTime;\r
     // }\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setSpeedRight: output-> " + motorRightUpTime);\r
+    }\r
   }\r
 \r
   public void setUrgentReverse() {\r
@@ -265,12 +279,20 @@ public class MotorControl {
     motorLeftUpTime = 1;\r
     motorRightUpTime = 1;\r
     // }\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setUrgentReverse: motorLeftUpTime-> " + motorLeftUpTime);\r
+      System.out.println("MotorControl: setUrgentReverse: motorRightUpTime-> " + motorRightUpTime);\r
+    }\r
   }\r
 \r
   public void setUrgentStraight() {\r
     // synchronized (this) {\r
     motorLeftUpTime = 99;\r
     motorRightUpTime = 99;\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: setUrgentStraight: motorLeftUpTime-> " + motorLeftUpTime);\r
+      System.out.println("MotorControl: setUrgentStraight: motorRightUpTime-> " + motorRightUpTime);\r
+    }\r
     // }\r
   }\r
 \r
@@ -278,6 +300,10 @@ public class MotorControl {
     // synchronized (this) {\r
     motorLeftUpTime = motorLeftUpTime;\r
     motorRightUpTime = motorRightUpTime;\r
+    if (DEBUG) {\r
+      System.out.println("MotorControl: justSync: motorLeftUpTime-> " + motorLeftUpTime);\r
+      System.out.println("MotorControl: justSync: motorRightUpTime-> " + motorRightUpTime);\r
+    }\r
     // }\r
   }\r
 \r
index 51d9dd45fe0b2a78cff6db70f20d429ba293e926..5c822396179e0604d3d5735781fb0e85bb878df4 100644 (file)
@@ -287,13 +287,8 @@ public class RobotMain {
      */\r
     // issueCommand("OFF");\r
 \r
-    @LOC("C") int count = 0;\r
     SSJAVA: while (active) {\r
 \r
-      if (count > 100000) {\r
-        break;\r
-      }\r
-\r
       // if (DEBUG) {\r
       // System.out.println("Main: Waiting for remote commands");\r
       // }\r
@@ -308,7 +303,6 @@ public class RobotMain {
       }\r
       System.out.println("currentCommand=" + currentCommand);\r
       processIOCommand();\r
-      count++;\r
     }\r
     System.exit(0);\r
   }\r
index b18dc0700ce1292ea839009fc9594b40f7d7148a..6e19ca04f2b10686fa92402d6457c0ca54dfd6b3 100644 (file)
@@ -144,6 +144,7 @@ public class StrategyMgr {
         if (DEBUGL)\r
           System.out.println("Line Sensors - Left");\r
         backBearRight();\r
+\r
         try {\r
           // Thread.sleep(1000);\r
         } catch (InterruptedException ie) {\r
index 046a700b1122d3763ba3512e28bbc13d8eb6f5cb..a6b3d378f2c8a390e5b64fd9adb8f1768235e035 100644 (file)
@@ -1,6 +1,7 @@
 public class TestSensorInput {
 
   private static FileInputStream inputFile;
+  private static int idx=0;
 
   @TRUST
   public static void init() {
@@ -11,9 +12,15 @@ public class TestSensorInput {
   public static byte getCommand() {
     String in = inputFile.readLine();
     if (in == null) {
-      return (byte) -1;
+       return (byte) -1;
     }
+    // DEBUG_OUTPUT();
     return (byte) Integer.parseInt(in);
   }
+  
+  public static DEBUG_OUTPUT(){
+    idx++;
+    System.out.println(idx);
+  }
 
 }
index 5f5f63a425584b0ef1e90061533d1020de05548d..00169a93c9de2e2dfe41d776d9e7ee5da11e939f 100644 (file)
 99
 96
 99
+97
+97
+97
+68
+68
+96
+99
+99
+96
+99
+97
+97
+97
+68
+68
+96
+99
+99
+96
+99
 
 
diff --git a/Robust/src/Benchmarks/SSJava/JavaNator/inputshort.dat b/Robust/src/Benchmarks/SSJava/JavaNator/inputshort.dat
new file mode 100644 (file)
index 0000000..5f5f63a
--- /dev/null
@@ -0,0 +1,18 @@
+99
+99
+99
+99
+97
+97
+97
+97
+97
+68
+68
+96
+99
+99
+96
+99
+
+
index 93910365d59d77601eadca0061f1714fe339883c..5813ad45b296d79b7ce97344e4d0ff5e6fcd4ded 100644 (file)
@@ -31,7 +31,7 @@ $(PROGRAM)n.bin: $(SOURCE_FILES) makefile
        $(BUILDSCRIPT) $(NORMAL) $(BSFLAGS) -o $(PROGRAM)n -builddir norm $(SOURCE_FILES) 
 
 $(PROGRAM)e.bin: $(SOURCE_FILES) makefile
-       $(BUILDSCRIPT) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
+       $(BUILDSCRIPT) $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
 
 cleanerror:
        rm -f $(PROGRAM)e.bin
diff --git a/Robust/src/Benchmarks/SSJava/JavaNator/observe-new-error-seed.sh b/Robust/src/Benchmarks/SSJava/JavaNator/observe-new-error-seed.sh
new file mode 100755 (executable)
index 0000000..b2b699a
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+usage () {
+  echo 'usage:'
+  echo '  observe-new-error-seed <inv prob> <random seed> '
+}
+
+
+if [[ -z $1 ]] ; then
+  usage
+  echo 'Please supply an inverse probability. (e.g. 1000)'
+  exit
+fi
+
+if [[ -z $2 ]] ; then
+  usage
+  echo 'Please supply a random seed.'
+  exit
+fi
+
+trycommand () {
+  $1
+  if [[ ! $? ]] ; then
+    echo "FAILED: $1"
+    exit
+  fi  
+}
+
+trycommand "make cleanerror"
+trycommand "make error INV_ERROR_PROB=$1 RANDOMSEED=$2"
+trycommand "run-error-batchmode.sh output.tmp"
+trycommand "cat output.tmp"
+trycommand "rm output.tmp"
+
diff --git a/Robust/src/Benchmarks/SSJava/JavaNator/run-batch-mode.sh b/Robust/src/Benchmarks/SSJava/JavaNator/run-batch-mode.sh
new file mode 100755 (executable)
index 0000000..0f30721
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+usage () {
+  echo 'usage:'
+  echo '  run-batch-mode <random seed>'
+}
+
+if [[ -z $1 ]] ; then
+  usage
+  echo 'Please supply the initial random seed. (e.g. 9090)'
+  exit
+fi
+
+trycommand () {
+  $1
+  if [[ ! $? ]] ; then
+    echo "FAILED: $1"
+    exit
+  fi  
+}
+
+H=errinj-history.txt
+D=errinj-diff.tmp
+X=errinj-diff-ranges.tmp
+T=errinj-range.tmp
+
+trycommand "rm $H"
+
+trycommand "make clean"
+echo "### make normal"
+trycommand "make normal"
+echo "### run normal"
+trycommand "run-normal.sh"
+
+max=$(($1+100))
+
+for (( i=$1;i<max;i++))
+do
+  echo 'idx' $i >> $H
+  trycommand "rm $X"
+  trycommand "make cleanerror"
+  echo "### make error"
+  trycommand "make error INV_ERROR_PROB=500 RANDOMSEED=$i"
+  echo "### run error"
+  trycommand "run-error-batchmode.sh $H"
+  diff normal.txt error.txt > $D
+  sed \
+  -e '/^[^0-9]/ d' \
+  -e  's/\(.*\),\(.*\)c.*/\1/' \
+  -e  's/\(.*\)c.*/\1/' \
+  -e  's/\(.*\)a.*/\1/' \
+  $D >> $X
+  if [[ -s $D ]] ; then
+    awk 'NR==1;END{print}' $X > $T
+    awk 'NR==1{s=$0;getline;e=$0;if(s==e) print s}' $T >> $H
+  else
+    echo 'NO DIFF' >> $H
+  fi
+done
+
+
diff --git a/Robust/src/Benchmarks/SSJava/JavaNator/run-error-batchmode.sh b/Robust/src/Benchmarks/SSJava/JavaNator/run-error-batchmode.sh
new file mode 100755 (executable)
index 0000000..add6f15
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+RobotMaine.bin > error.txt
+
+grep "SSJAVA: Injecting error" error.txt
+
+awk '{if($1=="SSJAVA:" && $2=="Injecting"){print "inj",x};{x=$1} }' error.txt >> $1 
+
+X=converterTempFile
+
+sed -e '/^SSJAVA:/ d'  error.txt > $X  
+#sed -e '/^SSJAVA:/ d' -e '1,/+++/ d' error.txt > $X  
+
+mv $X error.txt
diff --git a/Robust/src/Benchmarks/SSJava/JavaNator/run-normal.sh b/Robust/src/Benchmarks/SSJava/JavaNator/run-normal.sh
new file mode 100755 (executable)
index 0000000..dedc8df
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+RobotMainn.bin > normal.txt
+
+X=converterTempFile
+
+sed -e '/^SSJAVA:/ d'  normal.txt > $X  
+
+mv $X normal.txt
index 15f4a068c2f5058091e0a1fa8f0c3e49aebe70f6..83ba5dfa4ed4c20e76de495c0b150c2aba4267c0 100644 (file)
@@ -56,10 +56,10 @@ final class BitReserve {
   private int offset;\r
 \r
   @LOC("BIT")\r
-  private int totbit;\r
+  public int totbit;\r
 \r
   @LOC("BIT")\r
-  private int buf_byte_idx;\r
+  public int buf_byte_idx;\r
 \r
   @LOC("BIT")\r
   private final int[] buf;\r
@@ -93,14 +93,12 @@ final class BitReserve {
 \r
     @LOC("THIS,BitReserve.BIT") int pos = buf_byte_idx;\r
     if (pos + N < BUFSIZE) {\r
-      TERMINATE:\r
-      while (N-- > 0) {\r
+      TERMINATE: while (N-- > 0) {\r
         val <<= 1;\r
         val |= ((buf[pos++] != 0) ? 1 : 0);\r
       }\r
     } else {\r
-      TERMINATE:\r
-      while (N-- > 0) {\r
+      TERMINATE: while (N-- > 0) {\r
         val <<= 1;\r
         val |= ((buf[pos] != 0) ? 1 : 0);\r
         pos = (pos + 1) & BUFSIZE_MASK;\r
index 2af59207a56bcce2c26e335eaca1180c8ce56cfb..02a65a053bb3da19fbedfb92bb8027f0bceb1cbc 100644 (file)
@@ -742,6 +742,8 @@ public final class Bitstream implements BitstreamErrors {
     for (; bytes_to_discard > 0; bytes_to_discard--)
       br.hgetbits(8);
 
+    // resynch index by trusted code
+    br.buf_byte_idx = br.totbit % br.BUFSIZE;
     return br;
   }
 }
diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/DataParse.java b/Robust/src/Benchmarks/SSJava/MP3Decoder/DataParse.java
new file mode 100644 (file)
index 0000000..a6b30b0
--- /dev/null
@@ -0,0 +1,48 @@
+import java.io.*;
+import java.util.*;
+
+public class DataParse {
+
+  public static void main(String args[]) {
+
+    try {
+
+      FileWriter fout = new FileWriter("out.csv");
+      BufferedWriter out = new BufferedWriter(fout);
+
+      FileInputStream fin = new FileInputStream("errinj-history-5001.txt");
+      DataInputStream in = new DataInputStream(fin);
+      BufferedReader br = new BufferedReader(new InputStreamReader(in));
+      String inLine;
+      String value;
+      while ((inLine = br.readLine()) != null) {
+        // System.out.println(inLine);
+        if (inLine.startsWith("idx")) {
+          value = inLine.substring(4, inLine.length());
+          out.write("\n" + value);
+        } else if (inLine.startsWith("inj")) {
+          if (inLine.length() > 3) {
+            value = inLine.substring(4, inLine.length());
+            if (value.length() > 0) {
+              StringTokenizer st = new StringTokenizer(value, " ");
+              if (st.hasMoreTokens()) {
+                out.write("," + st.nextToken());
+              }
+            }
+          }
+        } else if (inLine.startsWith("NO DIFF")) {
+          // do nothing
+        } else {
+          out.write("," + inLine);
+        }
+      }
+      in.close();
+      out.close();
+
+    } catch (Exception e) {
+      System.out.println(e);
+    }
+
+  }
+
+}
\ No newline at end of file
index ebcce028050a1f44d54eefff00d5d1db4166c658..c2a489b45af8901630a83e803a98266f34d76134 100644 (file)
@@ -842,7 +842,7 @@ public final class Header {
   public BitReserve getBitReserve() {
     return br;
   }
-  
+
   @RETURNLOC("THIS,Header.T")
   public int getIdx() {
     return idx;
@@ -851,5 +851,5 @@ public final class Header {
   public int setIdx(int idx) {
     return this.idx = idx;
   }
-  
+
 }
index 568a249aff836c3d95e078b86000f660ece2005e..1e82e90753e82ae1a738ac7a8ea493bc08e1a35b 100644 (file)
@@ -202,12 +202,12 @@ public class Player {
       // if (h == null){\r
       // return false;\r
       // }\r
-\r
+      \r
       // @LOC("O") SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h);\r
       decoder.decodeFrame(h);\r
 \r
-     // DEBUG_OUTPUT_CHECKSUM();\r
-       DEBUG_OUTPUT();\r
+//      DEBUG_OUTPUT_CHECKSUM();\r
+//       DEBUG_OUTPUT();\r
       // synchronized (this)\r
       // {\r
       // out = audio;\r
index 5ed5d20df60c6459cbb43e5b2b88e56a6fd30a50..9d699c681f171d242dc7187d6ff66abfcd5c504c 100644 (file)
@@ -41,6 +41,8 @@ public class SampleBuffer extends Obuffer {
   @LOC("IDX")
   private int idx;
 
+  static public long sampleNumber = 0;
+
   /**
    * Constructor
    */
@@ -119,6 +121,9 @@ public class SampleBuffer extends Obuffer {
 
       s = (short) fs; // it's okay since BUFP of [D,BUFP] is a shared location
       buffer[pos] = s;
+
+      // DEBUG_OUTPUT(pos, s);
+
       // for LHS, LOC(buffer[pos])= GLB( [D,BUF] , [D,BUFP] ) = [D,BUF]
       // for RHS, LOC(s) = [D,BUFP]
       // so it's okay: [D,BUFP] -> [D,BUF]
@@ -159,4 +164,14 @@ public class SampleBuffer extends Obuffer {
    */
   public void set_stop_flag() {
   }
+
+  @TRUST
+  private void DEBUG_OUTPUT(int pos, short s) {
+    // there is left and right channel interleaved into the
+    // output buffer, so only sample one channel (stride=2)
+    if (pos % 2 == 0) {
+      System.out.println(sampleNumber + " " + s);
+      sampleNumber++;
+    }
+  }
 }
diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/eval/5001_6000_errinj_history.txt b/Robust/src/Benchmarks/SSJava/MP3Decoder/eval/5001_6000_errinj_history.txt
new file mode 100644 (file)
index 0000000..a56e804
--- /dev/null
@@ -0,0 +1,3467 @@
+idx 5001
+inj 510912 4525
+NO DIFF
+idx 5002
+inj 438560 -4888
+438562
+439072
+idx 5003
+inj 29952
+30562
+32108
+idx 5004
+inj 61632 2178
+61634
+63264
+idx 5005
+inj 343296 7378
+343874
+344384
+idx 5006
+inj 221184 4593
+221186
+222816
+idx 5007
+inj 122688 -2185
+NO DIFF
+idx 5008
+inj 23040 -9051
+23394
+23904
+idx 5009
+inj 60480 8032
+NO DIFF
+idx 5010
+inj 180864 -626
+NO DIFF
+idx 5011
+inj 35136 -1767
+NO DIFF
+idx 5012
+inj 89280 936
+89282
+90912
+idx 5013
+inj 21888 -544
+NO DIFF
+idx 5014
+inj 135936 -1081
+NO DIFF
+idx 5015
+inj 25088 -6236
+25113
+25113
+idx 5016
+inj 
+NO DIFF
+idx 5017
+inj 2880 19
+NO DIFF
+idx 5018
+inj 
+NO DIFF
+idx 5019
+inj 384768
+384784
+386948
+idx 5020
+inj 122112 6579
+NO DIFF
+idx 5021
+inj 153216 180
+153218
+154848
+idx 5022
+inj
+NO DIFF
+idx 5023
+inj 507456 4286
+NO DIFF
+idx 5024
+inj 80000 1097
+NO DIFF
+idx 5025
+inj 53568 -4579
+53570
+55200
+idx 5026
+inj 14304 -353
+14313
+14313
+idx 5027
+inj 77760 1019
+NO DIFF
+idx 5028
+inj 361152 2803
+NO DIFF
+idx 5029
+inj 155520 529
+155550
+155998
+idx 5030
+inj 89856 536
+NO DIFF
+idx 5031
+inj 288000 -9255
+NO DIFF
+idx 5032
+inj 9216 1694
+9218
+10848
+idx 5033
+inj 83520 1392
+83522
+85152
+idx 5034
+inj 111744 8127
+NO DIFF
+idx 5035
+inj 103680 -1462
+103682
+105312
+idx 5036
+inj 28800 770
+NO DIFF
+idx 5037
+inj 177984 -5000
+NO DIFF
+idx 5038
+inj 263808 766
+263810
+265440
+idx 5039
+inj 18176 4338
+18211
+18403
+idx 5040
+inj 297792 -4243
+NO DIFF
+idx 5041
+inj 65088 2427
+65090
+66720
+idx 5042
+inj 450432 -6124
+451036
+452614
+idx 5043
+inj 25920
+25962
+27521
+idx 5044
+inj 40320 -884
+NO DIFF
+idx 5045
+inj 133312 8818
+133351
+133607
+idx 5046
+inj 151872 -293
+151935
+152063
+idx 5047
+inj 56448 586
+56589
+58631
+idx 5048
+inj 
+NO DIFF
+idx 5049
+inj 355968 
+356014
+358130
+idx 5050
+inj 97920 341
+NO DIFF
+idx 5051
+inj 450432 -6124
+NO DIFF
+idx 5052
+inj 163584 4697
+NO DIFF
+idx 5053
+inj 90432 -4045
+NO DIFF
+idx 5054
+inj 88128 133
+NO DIFF
+idx 5055
+inj 533952 -9415
+NO DIFF
+idx 5056
+inj 20736 -943
+NO DIFF
+idx 5057
+inj 103104 -6736
+NO DIFF
+idx 5058
+inj 191232 -1094
+191234
+192864
+idx 5059
+inj 667584 3313
+667586
+669216
+idx 5060
+inj 86112 -3269
+86169
+86361
+idx 5061
+inj 5760 7174
+NO DIFF
+idx 5062
+inj 83520 1392
+83522
+85152
+idx 5063
+inj 
+NO DIFF
+idx 5064
+inj 388800 -1555
+NO DIFF
+idx 5065
+inj 119808 2700
+NO DIFF
+idx 5066
+inj 112896 -8988
+NO DIFF
+idx 5067
+inj 225792 6334
+225794
+227424
+idx 5068
+inj 103680 -1462
+104034
+104544
+idx 5069
+inj 66976 -7684
+67018
+67466
+idx 5070
+inj 
+NO DIFF
+idx 5071
+inj 145728 4398
+NO DIFF
+idx 5072
+inj 
+NO DIFF
+idx 5073
+inj 7488 -1315
+NO DIFF
+idx 5074
+inj 684288 -32767
+684289
+684673
+idx 5075
+inj 194688 3653
+194690
+196320
+idx 5076
+inj 9216 1694
+NO DIFF
+idx 5077
+inj 
+NO DIFF
+idx 5078
+inj 381312 -11014
+NO DIFF
+idx 5079
+inj 156672 -412
+156701
+156765
+idx 5080
+inj 211392
+211633
+212808
+idx 5081
+inj 85248 -1406
+NO DIFF
+idx 5082
+inj 47232 7148
+47234
+48864
+idx 5083
+inj 71424 6457
+NO DIFF
+idx 5084
+inj 2304 -15627
+NO DIFF
+idx 5085
+inj 243648
+243702
+245175
+idx 5086
+inj 95168 4012
+95180
+95180
+idx 5087
+inj 357120 3637
+357228
+359300
+idx 5088
+inj 346176 9756
+NO DIFF
+idx 5089
+inj 
+NO DIFF
+idx 5090
+inj 179136 -7989
+179202
+179712
+idx 5091
+inj 580608 7664
+580627
+580819
+idx 5092
+inj 235008 -7544
+235010
+236640
+idx 5093
+inj 82944
+83157
+84325
+idx 5094
+inj 
+NO DIFF
+idx 5095
+inj 145728 4398
+NO DIFF
+idx 5096
+inj 207360
+207981
+209522
+idx 5097
+inj 243072 924
+NO DIFF
+idx 5098
+inj 167040 8636
+167042
+168672
+idx 5099
+inj 61632 2178
+61634
+63264
+idx 5100
+inj 38016
+38636
+40213
+idx 5101
+inj 449856 9308
+449858
+451488
+idx 5102
+inj 552384 1364
+NO DIFF
+idx 5103
+inj 24192 12983
+NO DIFF
+idx 5104
+inj 326592 2237
+326594
+328224
+idx 5105
+inj 167616 -7828
+NO DIFF
+idx 5106
+inj 189504 -889
+189506
+191136
+idx 5107
+inj 139392 9650
+139396
+139844
+idx 5108
+inj 299392 -10463
+299410
+299474
+idx 5109
+inj 74336 -1088
+74349
+74349
+idx 5110
+inj 283968 6976
+NO DIFF
+idx 5111
+inj 61952 833
+62253
+62445
+idx 5112
+inj 38592 5692
+NO DIFF
+idx 5113
+inj 106560 4150
+NO DIFF
+idx 5114
+inj 35712 694
+NO DIFF
+idx 5115
+inj 153792 -5076
+153890
+154400
+idx 5116
+inj 270720 4850
+270765
+271149
+idx 5117
+inj 33408 -6609
+NO DIFF
+idx 5118
+inj 88128 133
+NO DIFF
+idx 5119
+inj 
+NO DIFF
+idx 5120
+inj 138240 2344
+138841
+140228
+idx 5121
+inj 449856
+450067
+451304
+idx 5122
+inj 28800 770
+NO DIFF
+idx 5123
+inj 70272 6255
+NO DIFF
+idx 5124
+inj 441792 6248
+NO DIFF
+idx 5125
+inj 
+NO DIFF
+idx 5126
+inj 60576 -1863
+61083
+61083
+idx 5127
+inj 124416 -5921
+124610
+125120
+idx 5128
+inj 119232 3656
+NO DIFF
+idx 5129
+inj 160704 3260
+160770
+161280
+idx 5130
+inj 186624 -1439
+NO DIFF
+idx 5131
+inj 
+NO DIFF
+idx 5132
+inj 44192 -2738
+44227
+44675
+idx 5133
+inj 308160 3331
+NO DIFF
+idx 5134
+inj 372672 -3319
+NO DIFF
+idx 5135
+inj 
+NO DIFF
+idx 5136
+inj 167616 -7828
+NO DIFF
+idx 5137
+inj 148608 -7311
+148610
+150240
+idx 5138
+inj 140416 881
+140422
+140422
+idx 5139
+inj 110592
+110897
+112796
+idx 5140
+inj 54144 -3908
+NO DIFF
+idx 5141
+inj 40320 -884
+40930
+41440
+idx 5142
+inj 873216 1418
+873218
+874848
+idx 5143
+inj 25920
+26076
+27389
+idx 5144
+inj 10368 -199
+10786
+11296
+idx 5145
+inj 315648 -2947
+315746
+316256
+idx 5146
+inj 63936
+64017
+65525
+idx 5147
+inj 102528 -20
+NO DIFF
+idx 5148
+inj 62208 -3261
+62530
+63040
+idx 5149
+inj 328320 234
+328322
+329952
+idx 5150
+inj 
+NO DIFF
+idx 5151
+inj 42048 -2088
+NO DIFF
+idx 5152
+inj 326016 -4019
+326018
+327648
+idx 5153
+inj 416448 -981
+NO DIFF
+idx 5154
+inj 470016 -3534
+NO DIFF
+idx 5155
+inj 47808 924
+NO DIFF
+idx 5156
+inj 31552 2531
+31554
+32064
+idx 5157
+inj 196416
+196526
+197930
+idx 5158
+inj 420576 10341
+420578
+421088
+idx 5159
+inj 
+NO DIFF
+idx 5160
+inj 112320 2973
+NO DIFF
+idx 5161
+inj 39520 -2059
+39522
+40032
+idx 5162
+inj 222912 454
+NO DIFF
+idx 5163
+inj 37440 -6220
+37442
+39072
+idx 5164
+inj 70848 -2337
+70850
+72480
+idx 5165
+inj 40896 3114
+41634
+42144
+idx 5166
+inj 146304 8047
+NO DIFF
+idx 5167
+inj 281088 4275
+281090
+282720
+idx 5168
+inj 220032
+220102
+222240
+idx 5169
+inj 83520
+83560
+85084
+idx 5170
+inj 398592 -5222
+NO DIFF
+idx 5171
+inj 116352 -1061
+NO DIFF
+idx 5172
+inj 
+NO DIFF
+idx 5173
+inj 19584 -2496
+19586
+21216
+idx 5174
+inj 249984 2319
+249986
+251616
+idx 5175
+inj 42624 262
+NO DIFF
+idx 5176
+inj 19488 -3480
+19625
+19945
+idx 5177
+inj 
+NO DIFF
+idx 5178
+inj 
+NO DIFF
+idx 5179
+inj 237888 -1754
+NO DIFF
+idx 5180
+inj 25344 -2947
+25346
+26976
+idx 5181
+inj 66816 -727
+NO DIFF
+idx 5182
+inj 407232 3619
+408098
+408608
+idx 5183
+inj 400320 -15886
+NO DIFF
+idx 5184
+inj 121536 -10309
+122370
+122880
+idx 5185
+inj 80064 2037
+80066
+81696
+idx 5186
+inj 0
+NO DIFF
+idx 5187
+inj 83424 -6293
+83428
+83428
+idx 5188
+inj 20736
+20799
+22309
+idx 5189
+inj 40320 -884
+40610
+41120
+idx 5190
+inj 44928 8
+44990
+45182
+idx 5191
+inj 89280 936
+NO DIFF
+idx 5192
+inj 66240 -361
+NO DIFF
+idx 5193
+inj 150336 5309
+NO DIFF
+idx 5194
+inj 
+NO DIFF
+idx 5195
+inj 77760 1019
+77863
+79300
+idx 5196
+inj 289152 2066
+NO DIFF
+idx 5197
+inj 65088
+65285
+66506
+idx 5198
+inj 118656
+118696
+120832
+idx 5199
+inj 283968 6976
+NO DIFF
+idx 5200
+inj 80640 -1562
+80642
+82272
+idx 5201
+inj 27072 -5486
+28194
+28704
+idx 5202
+inj 273600 30
+273794
+274304
+idx 5203
+inj 223424 -4124
+223502
+223886
+idx 5204
+inj 
+NO DIFF
+idx 5205
+inj 155520 529
+NO DIFF
+idx 5206
+inj 3456 4354
+NO DIFF
+idx 5207
+inj 
+NO DIFF
+idx 5208
+inj 
+NO DIFF
+idx 5209
+inj 17280 3552
+NO DIFF
+idx 5210
+inj 232128 6932
+NO DIFF
+idx 5211
+inj 261504 -307
+261506
+262016
+idx 5212
+inj 
+NO DIFF
+idx 5213
+inj 4608 -3642
+NO DIFF
+idx 5214
+inj 81216 2970
+NO DIFF
+idx 5215
+inj 
+NO DIFF
+idx 5216
+inj 84096 3909
+84098
+85728
+idx 5217
+inj 21888 -544
+22178
+22688
+idx 5218
+inj 57600 -4452
+57602
+59232
+idx 5219
+inj 418944 3511
+418946
+419456
+idx 5220
+inj 99072 2532
+99618
+100128
+idx 5221
+inj 101376 2830
+NO DIFF
+idx 5222
+inj 
+NO DIFF
+idx 5223
+inj 42624 262
+42663
+42983
+idx 5224
+inj 289728 -3757
+NO DIFF
+idx 5225
+inj 60480 8032
+60482
+62112
+idx 5226
+inj 154944 -9975
+155810
+156320
+idx 5227
+inj 144000 -1727
+NO DIFF
+idx 5228
+inj 21312 102
+21314
+22944
+idx 5229
+inj 546048 390
+NO DIFF
+idx 5230
+inj 183744 -1262
+183746
+185376
+idx 5231
+inj 410688 -6692
+NO DIFF
+idx 5232
+inj 10944 -1554
+NO DIFF
+idx 5233
+inj 162432 395
+162434
+164064
+idx 5234
+inj 389376 12465
+NO DIFF
+idx 5235
+inj 61792 -578
+61850
+62170
+idx 5236
+inj 52416 -3458
+NO DIFF
+idx 5237
+inj 116352 -1061
+NO DIFF
+idx 5238
+inj 97248 2033
+97250
+97760
+idx 5239
+inj 576
+791
+1981
+idx 5240
+inj 119232 3656
+NO DIFF
+idx 5241
+inj 199296 18223
+199330
+199840
+idx 5242
+inj 266112 -3637
+266114
+267744
+idx 5243
+inj 297792 -4243
+297794
+299424
+idx 5244
+inj 74304 3603
+NO DIFF
+idx 5245
+inj 31104 4192
+31325
+33299
+idx 5246
+inj 284256 4108
+284260
+284260
+idx 5247
+inj 139392 9650
+NO DIFF
+idx 5248
+inj 57024
+57059
+58631
+idx 5249
+inj 194688 3653
+NO DIFF
+idx 5250
+inj 9216 1694
+9570
+10080
+idx 5251
+inj 633600 -2712
+NO DIFF
+idx 5252
+inj 309888 7367
+NO DIFF
+idx 5253
+inj 53280 -3536
+53317
+53765
+idx 5254
+inj 270048 6755
+NO DIFF
+idx 5255
+inj 21888 -544
+NO DIFF
+idx 5256
+inj 8160 -1007
+8188
+8636
+idx 5257
+inj 372096 -1137
+372098
+373728
+idx 5258
+inj 182592
+182755
+183965
+idx 5259
+inj 17856 1485
+NO DIFF
+idx 5260
+inj
+NO DIFF
+idx 5261
+inj 258048 -5449
+258050
+259680
+idx 5262
+inj
+NO DIFF
+idx 5263
+inj 104224 -6065
+104226
+104736
+idx 5264
+inj 101376 2830
+101439
+101695
+idx 5265
+inj 462528 -2943
+462530
+464160
+idx 5266
+inj 377856 -1738
+NO DIFF
+idx 5267
+inj 330048 1874
+330626
+331136
+idx 5268
+inj 453888 -19628
+NO DIFF
+idx 5269
+inj 164736 -1001
+165339
+166903
+idx 5270
+inj 246528 -9154
+246530
+248160
+idx 5271
+inj 7488 -1315
+7490
+9120
+idx 5272
+inj 156832 -6438
+NO DIFF
+idx 5273
+inj 
+NO DIFF
+idx 5274
+inj 269568 -2995
+269693
+271752
+idx 5275
+inj 9664 -198
+9694
+10142
+idx 5276
+inj 
+NO DIFF
+idx 5277
+inj 
+NO DIFF
+idx 5278
+inj 101376 2830
+101378
+103008
+idx 5279
+inj 41472 -3534
+42594
+43104
+idx 5280
+inj 66240 -361
+66626
+67488
+idx 5281
+inj 264960 1343
+NO DIFF
+idx 5282
+inj
+NO DIFF
+idx 5283
+inj 482112 -9155
+NO DIFF
+idx 5284
+inj 5184 -3179
+5186
+6816
+idx 5285
+inj 54144 -3908
+NO DIFF
+idx 5286
+inj 33408 -6609
+NO DIFF
+idx 5287
+inj 678528 -5982
+NO DIFF
+idx 5288
+inj 89280 936
+NO DIFF
+idx 5289
+inj 182592 1741
+182594
+184224
+idx 5290
+inj 116864 -5632
+116867
+116867
+idx 5291
+inj 192960 6667
+NO DIFF
+idx 5292
+inj 560448 9441
+NO DIFF
+idx 5293
+inj 176992 415
+177412
+177476
+idx 5294
+inj 97920 341
+NO DIFF
+idx 5295
+inj 172224 -6417
+NO DIFF
+idx 5296
+inj 394560 -8223
+NO DIFF
+idx 5297
+inj 423936 135
+424545
+426128
+idx 5298
+inj 484992 -2438
+NO DIFF
+idx 5299
+inj 72576 814
+NO DIFF
+idx 5300
+inj 29376 2046
+NO DIFF
+idx 5301
+inj 28800 770
+29026
+29536
+idx 5302
+inj 164160 599
+NO DIFF
+idx 5303
+inj 
+NO DIFF
+idx 5304
+inj 57024 1692
+NO DIFF
+idx 5305
+inj 211968 -2684
+212066
+212576
+idx 5306
+inj 307584 2101
+NO DIFF
+idx 5307
+inj 131328 3530
+131714
+132224
+idx 5308
+inj 47808 924
+NO DIFF
+idx 5309
+inj 6336 1037
+NO DIFF
+idx 5310
+inj 80736 -3202
+80758
+80758
+idx 5311
+inj 16704 8705
+17122
+17632
+idx 5312
+inj 252288 -668
+253026
+253536
+idx 5313
+inj 186624 -1439
+NO DIFF
+idx 5314
+inj 84096 3909
+NO DIFF
+idx 5315
+inj 161280 -307
+161282
+162912
+idx 5316
+inj 70272 6255
+NO DIFF
+idx 5317
+inj 10016 -1410
+10074
+10330
+idx 5318
+inj 40320 -884
+NO DIFF
+idx 5319
+inj 271872
+271997
+273383
+idx 5320
+inj 81216 2970
+NO DIFF
+idx 5321
+inj 289728 -3757
+NO DIFF
+idx 5322
+inj 55872 
+56086
+57486
+idx 5323
+inj 38016 -3845
+38306
+38816
+idx 5324
+inj 10944 -1554
+11970
+12480
+idx 5325
+inj 298944 8858
+NO DIFF
+idx 5326
+inj 
+NO DIFF
+idx 5327
+inj 452736 -5225
+NO DIFF
+idx 5328
+inj 614016 -9516
+614018
+615648
+idx 5329
+inj 
+NO DIFF
+idx 5330
+inj 142848 -1492
+143266
+143776
+idx 5331
+inj 19008 4943
+NO DIFF
+idx 5332
+inj 72576 814
+72634
+73018
+idx 5333
+inj 62784 339
+NO DIFF
+idx 5334
+inj 170496 -4185
+NO DIFF
+idx 5335
+inj 375520 -107
+375533
+375533
+idx 5336
+inj 214272 579
+214370
+214880
+idx 5337
+inj 
+NO DIFF
+idx 5338
+inj 150912 -2929
+NO DIFF
+idx 5339
+inj 201024 -3489
+NO DIFF
+idx 5340
+inj 119232 3656
+119330
+119840
+idx 5341
+inj 363456 1312
+NO DIFF
+idx 5342
+inj 41472 -3534
+NO DIFF
+idx 5343
+inj 147456 13916
+147458
+149088
+idx 5344
+inj 43776 1046
+44514
+45024
+idx 5345
+inj 187200
+187373
+188679
+idx 5346
+inj 320832
+320877
+322451
+idx 5347
+inj 182592 1741
+NO DIFF
+idx 5348
+inj 115200 4891
+NO DIFF
+idx 5349
+inj 175104 -124
+NO DIFF
+idx 5350
+inj 188352 503
+188354
+189984
+idx 5351
+inj 132480 -1251
+133261
+134668
+idx 5352
+inj 39744 -5979
+NO DIFF
+idx 5353
+inj 353088 -484
+NO DIFF
+idx 5354
+inj 
+NO DIFF
+idx 5355
+inj 196992
+197607
+199161
+idx 5356
+inj 84096 3909
+NO DIFF
+idx 5357
+inj 101952
+101989
+103546
+idx 5358
+inj 
+NO DIFF
+idx 5359
+inj 112896 -8988
+112898
+114528
+idx 5360
+inj 63936 1455
+NO DIFF
+idx 5361
+inj 177344 -6966
+177346
+177346
+idx 5362
+inj 102528 -20
+102530
+104160
+idx 5363
+inj 180864 -626
+NO DIFF
+idx 5364
+inj 202752 -4575
+NO DIFF
+idx 5365
+inj 93312 323
+NO DIFF
+idx 5366
+inj 72000 -4113
+NO DIFF
+idx 5367
+inj 454464 14116
+455330
+455840
+idx 5368
+inj 282240
+282323
+284419
+idx 5369
+inj 9216 1694
+10082
+10592
+idx 5370
+inj 99072 2532
+99176
+101067
+idx 5371
+inj 95616 -2900
+95970
+96480
+idx 5372
+inj 265536 -1645
+NO DIFF
+idx 5373
+inj 12672 4446
+13698
+14208
+idx 5374
+inj 497088 5684
+NO DIFF
+idx 5375
+inj 351872 412
+NO DIFF
+idx 5376
+inj 176256 -1156
+NO DIFF
+idx 5377
+inj 66816 -727
+NO DIFF
+idx 5378
+inj 129024 7216
+129632
+131215
+idx 5379
+inj 
+NO DIFF
+idx 5380
+inj 110880 6171
+110882
+111392
+idx 5381
+inj 8064 -2903
+8066
+9696
+idx 5382
+inj 561600 -6442
+562114
+562624
+idx 5383
+inj 54144
+54383
+56127
+idx 5384
+inj 186624 -1439
+NO DIFF
+idx 5385
+inj 156096 -6114
+NO DIFF
+idx 5386
+inj 586368 10401
+586475
+588575
+idx 5387
+inj 125568 3723
+125570
+127200
+idx 5388
+inj 323136 3864
+NO DIFF
+idx 5389
+inj 
+NO DIFF
+idx 5390
+inj 119232 3656
+NO DIFF
+idx 5391
+inj 68544 -5728
+NO DIFF
+idx 5392
+inj 111744 8127
+NO DIFF
+idx 5393
+inj 113408 1655
+113443
+113891
+idx 5394
+inj 306432 97
+NO DIFF
+idx 5395
+inj 584064 6592
+NO DIFF
+idx 5396
+inj 216576 874
+216578
+217088
+idx 5397
+inj 317952 -7878
+NO DIFF
+idx 5398
+inj 167040 8636
+NO DIFF
+idx 5399
+inj 21312 102
+NO DIFF
+idx 5400
+inj 
+NO DIFF
+idx 5401
+inj 10368 -199
+NO DIFF
+idx 5402
+inj 64512 -1507
+NO DIFF
+idx 5403
+inj 
+NO DIFF
+idx 5404
+inj 
+NO DIFF
+idx 5405
+inj 16704 8705
+16706
+18336
+idx 5406
+inj 320256 -21202
+NO DIFF
+idx 5407
+inj 106560 4150
+106582
+107030
+idx 5408
+inj 187776 -813
+NO DIFF
+idx 5409
+inj 15552 7263
+NO DIFF
+idx 5410
+inj 
+NO DIFF
+idx 5411
+inj 1071616 -3870
+NO DIFF
+idx 5412
+inj 576 0
+NO DIFF
+idx 5413
+inj 146880
+147001
+148336
+idx 5414
+inj 17856 1485
+NO DIFF
+idx 5415
+inj 27648 -6986
+NO DIFF
+idx 5416
+inj 495360 -4199
+495606
+496750
+idx 5417
+inj 82624 -5391
+82626
+83136
+idx 5418
+inj 110592 2493
+NO DIFF
+idx 5419
+inj 
+NO DIFF
+idx 5420
+inj 4608 -3642
+NO DIFF
+idx 5421
+inj 281088 4275
+NO DIFF
+idx 5422
+inj 57600 -4452
+NO DIFF
+idx 5423
+inj 34560 854
+34562
+36192
+idx 5424
+inj 58816 8931
+NO DIFF
+idx 5425
+inj 120160 -1053
+120204
+120652
+idx 5426
+inj 63360 -987
+NO DIFF
+idx 5427
+inj 666432 -10697
+666946
+667456
+idx 5428
+inj 203904 -4514
+NO DIFF
+idx 5429
+inj 153792 -5076
+NO DIFF
+idx 5430
+inj 344032 572
+344034
+344544
+idx 5431
+inj 161856 2736
+162242
+162752
+idx 5432
+inj 118080 -3530
+NO DIFF
+idx 5433
+inj 400320 -15886
+NO DIFF
+idx 5434
+inj 402048 2208
+402050
+403680
+idx 5435
+inj 24192 12983
+24194
+25824
+idx 5436
+inj 323136 3864
+323138
+324768
+idx 5437
+inj 1728
+1757
+3331
+idx 5438
+inj 144320 8064
+144380
+144828
+idx 5439
+inj 
+NO DIFF
+idx 5440
+inj 269536 -1455
+NO DIFF
+idx 5441
+inj 14240 -8142
+14282
+14730
+idx 5442
+inj 57600 -4452
+NO DIFF
+idx 5443
+inj 10240 2239
+10378
+10698
+idx 5444
+inj 700416 7757
+NO DIFF
+idx 5445
+inj 22464 1806
+NO DIFF
+idx 5446
+inj 
+NO DIFF
+idx 5447
+inj 247488 -10058
+247500
+247628
+idx 5448
+inj 10944 -1554
+11522
+12384
+idx 5449
+inj 50688 -3541
+51394
+51904
+idx 5450
+inj 317952 -7878
+318786
+319296
+idx 5451
+inj 8064 -2903
+NO DIFF
+idx 5452
+inj 307072 -4095
+307074
+307584
+idx 5453
+inj 189504 -889
+189615
+191038
+idx 5454
+inj 163712 923
+NO DIFF
+idx 5455
+inj 438336
+438376
+439760
+idx 5456
+inj 310112 -7224
+NO DIFF
+idx 5457
+inj 110016
+110828
+111245
+idx 5458
+inj 54720 4797
+NO DIFF
+idx 5459
+inj 132480 -1251
+133538
+134048
+idx 5460
+inj 446976 -6365
+NO DIFF
+idx 5461
+inj 7488
+7568
+9036
+idx 5462
+inj 28672 -3252
+28803
+29123
+idx 5463
+inj 199872 -5468
+NO DIFF
+idx 5464
+inj 
+NO DIFF
+idx 5465
+inj 86976 914
+NO DIFF
+idx 5466
+inj 160128 -5477
+NO DIFF
+idx 5467
+inj 31232 -288
+NO DIFF
+idx 5468
+inj 32256 12
+32281
+32729
+idx 5469
+inj 267264 -10961
+NO DIFF
+idx 5470
+inj 85824 37
+NO DIFF
+idx 5471
+inj 125568 3723
+NO DIFF
+idx 5472
+inj 345280 11807
+345282
+345792
+idx 5473
+inj 221184 4593
+NO DIFF
+idx 5474
+inj 218880 -1303
+NO DIFF
+idx 5475
+inj 309888 7367
+NO DIFF
+idx 5476
+inj 112128 6951
+NO DIFF
+idx 5477
+inj 178560 -11655
+178786
+179296
+idx 5478
+inj 36288 440
+36290
+37920
+idx 5479
+inj 262080 82
+NO DIFF
+idx 5480
+inj 417024 -4469
+417080
+417400
+idx 5481
+inj 195840 601
+NO DIFF
+idx 5482
+inj 60480 8032
+NO DIFF
+idx 5483
+inj 182016 8584
+182018
+183648
+idx 5484
+inj 8640 2016
+NO DIFF
+idx 5485
+inj 114048 4507
+NO DIFF
+idx 5486
+inj 154944 -9975
+NO DIFF
+idx 5487
+inj 61056 1252
+61058
+62688
+idx 5488
+inj 154368 8134
+NO DIFF
+idx 5489
+inj 39744
+39874
+41220
+idx 5490
+inj 107136 -1234
+NO DIFF
+idx 5491
+inj 311040 13994
+311170
+311680
+idx 5492
+inj 150912 -2929
+NO DIFF
+idx 5493
+inj 104256 2848
+NO DIFF
+idx 5494
+inj 63936 1455
+NO DIFF
+idx 5495
+inj 268416 -1650
+269038
+270610
+idx 5496
+inj 104256 2848
+NO DIFF
+idx 5497
+inj 11520 524
+NO DIFF
+idx 5498
+inj 44384 -1683
+44405
+44405
+idx 5499
+inj 6912 -26
+6914
+8544
+idx 5500
+inj 196416 -1324
+NO DIFF
+idx 5501
+inj 224064 3765
+NO DIFF
+idx 5502
+inj 4032 -835
+4034
+5664
+idx 5503
+inj 333920 1010
+334135
+334391
+idx 5504
+inj 37440 -6220
+38338
+38848
+idx 5505
+inj 580032 -4280
+NO DIFF
+idx 5506
+inj 
+NO DIFF
+idx 5507
+inj 49536
+49754
+51704
+idx 5508
+inj 326016 
+326026
+328164
+idx 5509
+inj 32832 -1622
+NO DIFF
+idx 5510
+inj 2304 -15627
+3426
+3936
+idx 5511
+inj 355008 -5112
+355010
+355520
+idx 5512
+inj 527616 -775
+527618
+529248
+idx 5513
+inj 119808 2700
+NO DIFF
+idx 5514
+inj 368640 -5777
+368642
+370272
+idx 5515
+inj 71424 6457
+71426
+73056
+idx 5516
+inj 340992
+341025
+343000
+idx 5517
+inj 103680 -1462
+103682
+105312
+idx 5518
+inj 55872 1102
+56898
+57408
+idx 5519
+inj 217152 3259
+217154
+218784
+idx 5520
+inj 874368 -3417
+874754
+875264
+idx 5521
+inj 239616 1697
+239618
+241248
+idx 5522
+inj 138240 2344
+138242
+139872
+idx 5523
+inj 35712 694
+NO DIFF
+idx 5524
+inj 77760 1019
+NO DIFF
+idx 5525
+inj 149184 1060
+NO DIFF
+idx 5526
+inj 629568 8113
+629570
+631200
+idx 5527
+inj 44352 1556
+NO DIFF
+idx 5528
+inj 50112 2466
+NO DIFF
+idx 5529
+inj 282592 4620
+282594
+283104
+idx 5530
+inj 41376 3463
+41378
+41888
+idx 5531
+inj 47808 924
+NO DIFF
+idx 5532
+inj 57024 1692
+NO DIFF
+idx 5533
+inj 474048 13926
+NO DIFF
+idx 5534
+inj 500544 -8872
+500546
+502176
+idx 5535
+inj 73728 1594
+73730
+75360
+idx 5536
+inj 276480 1007
+NO DIFF
+idx 5537
+inj 514656 4326
+514715
+514907
+idx 5538
+inj 13824 -16594
+13826
+15456
+idx 5539
+inj 239648 646
+239702
+240150
+idx 5540
+inj 25344 -2947
+25406
+25406
+idx 5541
+inj 
+NO DIFF
+idx 5542
+inj 634176 -14412
+634178
+635808
+idx 5543
+inj 51456 1517
+51481
+51481
+idx 5544
+inj 74560 -1748
+74562
+75072
+idx 5545
+inj 467136
+467167
+468747
+idx 5546
+inj 
+NO DIFF
+idx 5547
+inj 164736
+165063
+166893
+idx 5548
+inj 122112 6579
+NO DIFF
+idx 5549
+inj 273024 -904
+NO DIFF
+idx 5550
+inj 576 0
+NO DIFF
+idx 5551
+inj 395712 -84
+NO DIFF
+idx 5552
+inj 377280 6042
+NO DIFF
+idx 5553
+inj 190656 10276
+NO DIFF
+idx 5554
+inj 444800 -2870
+444831
+445279
+idx 5555
+inj 648064 1811
+NO DIFF
+idx 5556
+inj 677376 6549
+677378
+679008
+idx 5557
+inj 460800
+460915
+462989
+idx 5558
+inj 352512 -392
+NO DIFF
+idx 5559
+inj 444096 -8386
+NO DIFF
+idx 5560
+inj 
+NO DIFF
+idx 5561
+inj 249408 2811
+NO DIFF
+idx 5562
+inj 3872 14249
+3902
+4350
+idx 5563
+inj 390528 -18513
+390658
+392735
+idx 5564
+inj 1152 -188
+1346
+2784
+idx 5565
+inj 296064 2358
+NO DIFF
+idx 5566
+inj 71040 -442
+71042
+71552
+idx 5567
+inj 29376 2046
+NO DIFF
+idx 5568
+inj 480384 -3299
+NO DIFF
+idx 5569
+inj 121376 1803
+121378
+121888
+idx 5570
+inj 79488 -10302
+79541
+79861
+idx 5571
+inj 11520 524
+11618
+12128
+idx 5572
+inj 17280 3552
+17602
+18112
+idx 5573
+inj 
+NO DIFF
+idx 5574
+inj 33408 -6609
+34338
+34848
+idx 5575
+inj 297792 -4243
+NO DIFF
+idx 5576
+inj 614592 -1090
+614594
+616224
+idx 5577
+inj 292032 -1884
+NO DIFF
+idx 5578
+inj 67968 1144
+68024
+68152
+idx 5579
+inj 162432 395
+NO DIFF
+idx 5580
+inj  
+NO DIFF
+idx 5581
+inj 28224 735
+28706
+29216
+idx 5582
+inj 68544 -5728
+NO DIFF
+idx 5583
+inj 19584 -2496
+NO DIFF
+idx 5584
+inj 586848 -1127
+NO DIFF
+idx 5585
+inj 418752 -1016
+NO DIFF
+idx 5586
+inj 19008 4943
+NO DIFF
+idx 5587
+inj 43200 1955
+43202
+44640
+idx 5588
+inj 13344 -14583
+13346
+13856
+idx 5589
+inj 205632
+205850
+207128
+idx 5590
+inj 121824 -5369
+121852
+122108
+idx 5591
+inj  
+NO DIFF
+idx 5592
+inj 305280 -1557
+305282
+306912
+idx 5593
+inj 28416 -4051
+28437
+28437
+idx 5594
+inj 5760 7174
+NO DIFF
+idx 5595
+inj 70848 -2337
+71138
+71648
+idx 5596
+inj 153504 37
+153507
+153507
+idx 5597
+inj 108864 -2329
+NO DIFF
+idx 5598
+inj 551808 -3289
+NO DIFF
+idx 5599
+inj 80640 -1562
+80642
+82272
+idx 5600
+inj 112320 2973
+112535
+113810
+idx 5601
+inj 304704 -5452
+NO DIFF
+idx 5602
+inj 576 0
+962
+1824
+idx 5603
+inj 89856 536
+NO DIFF
+idx 5604
+inj 
+NO DIFF
+idx 5605
+inj 261504 -307
+NO DIFF
+idx 5606
+inj 84960 -5187
+84970
+85226
+idx 5607
+inj 117504 -3591
+NO DIFF
+idx 5608
+inj 27648 -6986
+NO DIFF
+idx 5609
+inj 81376 2566
+81378
+81888
+idx 5610
+inj 214272 579
+214850
+215360
+idx 5611
+inj 25920 7892
+26498
+27008
+idx 5612
+inj 66240 -361
+NO DIFF
+idx 5613
+inj 152640 185
+NO DIFF
+idx 5614
+inj 84096 3909
+84098
+85728
+idx 5615
+inj 162432 395
+162434
+164064
+idx 5616
+inj 152064 -333
+152674
+153184
+idx 5617
+inj 77184 1113
+77346
+77856
+idx 5618
+inj 908352 3254
+NO DIFF
+idx 5619
+inj 6912 -26
+7528
+9071
+idx 5620
+inj 108864 -2329
+NO DIFF
+idx 5621
+inj 224640 -6964
+NO DIFF
+idx 5622
+inj 278208 -5859
+278210
+279840
+idx 5623
+inj 3296 -18081
+3315
+3443
+idx 5624
+inj 14976
+15597
+17154
+idx 5625
+inj  
+NO DIFF
+idx 5626
+inj 347904 -769
+NO DIFF
+idx 5627
+inj 199872 -5468
+NO DIFF
+idx 5628
+inj 168192 -6815
+NO DIFF
+idx 5629
+inj 
+NO DIFF
+idx 5630
+inj 767232 -3801
+NO DIFF
+idx 5631
+inj 33408 -6609
+NO DIFF
+idx 5632
+inj 8064 -2903
+NO DIFF
+idx 5633
+inj 103680
+103810
+105862
+idx 5634
+inj 686016 3714
+NO DIFF
+idx 5635
+inj 245952 1539
+245954
+247584
+idx 5636
+inj 451136 -2247
+451168
+451552
+idx 5637
+inj 43776
+44289
+44930
+idx 5638
+inj 88704 -1832
+NO DIFF
+idx 5639
+inj 134784
+134839
+136970
+idx 5640
+inj 116928 1020
+116930
+118560
+idx 5641
+inj 68544 -5728
+NO DIFF
+idx 5642
+inj 369088 -10281
+369090
+369600
+idx 5643
+inj 52992 
+53035
+55170
+idx 5644
+inj 
+NO DIFF
+idx 5645
+inj 191808 -3230
+NO DIFF
+idx 5646
+inj 134784 7263
+134814
+135198
+idx 5647
+inj 
+NO DIFF
+idx 5648
+inj 10944 -1554
+NO DIFF
+idx 5649
+inj 13248 -4137
+NO DIFF
+idx 5650
+inj  
+NO DIFF
+idx 5651
+inj 4960 -371
+NO DIFF
+idx 5652
+inj 24192 12983
+NO DIFF
+idx 5653
+inj 203328 -1158
+NO DIFF
+idx 5654
+inj 141696 -7782
+NO DIFF
+idx 5655
+inj 124416 -5921
+124898
+125408
+idx 5656
+inj 544896 2388
+NO DIFF
+idx 5657
+inj  
+NO DIFF
+idx 5658
+inj 46656 10517
+46818
+47328
+idx 5659
+inj 282240 3398
+NO DIFF
+idx 5660
+inj 304128
+304281
+306298
+idx 5661
+inj 88160 3278
+88189
+88637
+idx 5662
+inj 224672 -8956
+224674
+225184
+idx 5663
+inj 88704 -1832
+NO DIFF
+idx 5664
+inj 271872 939
+NO DIFF
+idx 5665
+inj 89856 536
+90306
+90816
+idx 5666
+inj 251584 460
+251589
+252037
+idx 5667
+inj 80640 -1562
+NO DIFF
+idx 5668
+inj 101376 2830
+NO DIFF
+idx 5669
+inj 689472
+689578
+690898
+idx 5670
+inj 263808 766
+263810
+265440
+idx 5671
+inj 42048 -2088
+43074
+43584
+idx 5672
+inj 259776 4043
+NO DIFF
+idx 5673
+inj  
+NO DIFF
+idx 5674
+inj 6336 1037
+NO DIFF
+idx 5675
+inj 151488 1583
+NO DIFF
+idx 5676
+inj 67392 8737
+NO DIFF
+idx 5677
+inj  
+NO DIFF
+idx 5678
+inj 195264 4451
+195650
+196160
+idx 5679
+inj 89856 536
+89916
+89916
+idx 5680
+inj 238464 86
+NO DIFF
+idx 5681
+inj 72000 -4113
+72802
+73312
+idx 5682
+inj 32256 12
+NO DIFF
+idx 5683
+inj 22208 826
+NO DIFF
+idx 5684
+inj 214848 -1380
+NO DIFF
+idx 5685
+inj 113472 -1307
+NO DIFF
+idx 5686
+inj 169920 1532
+NO DIFF
+idx 5687
+inj 102528 -20
+NO DIFF
+idx 5688
+inj 43200 1955
+NO DIFF
+idx 5689
+inj 27488 -4223
+27537
+27601
+idx 5690
+inj 
+NO DIFF
+idx 5691
+inj 145056 -6196
+145192
+145512
+idx 5692
+inj 198144 -8
+198146
+199776
+idx 5693
+inj 81792 2593
+NO DIFF
+idx 5694
+inj 774720 -5753
+NO DIFF
+idx 5695
+inj 89280 936
+NO DIFF
+idx 5696
+inj 184320 -886
+184322
+185952
+idx 5697
+inj 51840 4907
+51842
+53472
+idx 5698
+inj 37440 -6220
+NO DIFF
+idx 5699
+inj 
+NO DIFF
+idx 5700
+inj 42688 5448
+NO DIFF
+idx 5701
+inj 125568 3723
+125570
+127200
+idx 5702
+inj 36288
+36375
+37878
+idx 5703
+inj 105408 -6285
+NO DIFF
+idx 5704
+inj 9216 1694
+NO DIFF
+idx 5705
+inj 24768 
+24786
+26363
+idx 5706
+inj 16704 8705
+NO DIFF
+idx 5707
+inj 303552 -8197
+303554
+305184
+idx 5708
+inj  
+NO DIFF
+idx 5709
+inj 145728 4398
+145730
+147360
+idx 5710
+inj 59328 -14442
+59330
+60960
+idx 5711
+inj 20160 2598
+20162
+21792
+idx 5712
+inj 24768 3254
+NO DIFF
+idx 5713
+inj 186048 855
+NO DIFF
+idx 5714
+inj 192960 6667
+NO DIFF
+idx 5715
+inj 48736 14069
+NO DIFF
+idx 5716
+inj 411840 15967
+411869
+412317
+idx 5717
+inj 153216
+153261
+155212
+idx 5718
+inj 402624 -4000
+403650
+404160
+idx 5719
+inj 93888 4145
+NO DIFF
+idx 5720
+inj 576 0
+NO DIFF
+idx 5721
+inj 141120 -2697
+NO DIFF
+idx 5722
+inj 689472 10050
+NO DIFF
+idx 5723
+inj 27648 -6986
+NO DIFF
+idx 5724
+inj 76608 1570
+NO DIFF
+idx 5725
+inj 428544 -4198
+428546
+430176
+idx 5726
+inj
+NO DIFF
+idx 5727
+inj 20288 -3170
+20290
+20800
+idx 5728
+inj 66816 -727
+NO DIFF
+idx 5729
+inj 743040 -16279
+743042
+744672
+idx 5730
+inj 105408 -6285
+NO DIFF
+idx 5731
+inj 96768 350
+96802
+97312
+idx 5732
+inj 162432 395
+NO DIFF
+idx 5733
+inj 205632 2354
+NO DIFF
+idx 5734
+inj 463104 911
+NO DIFF
+idx 5735
+inj 58176 -7800
+58178
+59808
+idx 5736
+inj 37440 -6220
+37442
+39072
+idx 5737
+inj 42624 262
+NO DIFF
+idx 5738
+inj 262080 82
+262562
+263072
+idx 5739
+inj 267264 -10961
+NO DIFF
+idx 5740
+inj 355968 -12647
+355970
+357600
+idx 5741
+inj 43872 -92
+43921
+44369
+idx 5742
+inj 49536 -2402
+49730
+50592
+idx 5743
+inj 205632 2354
+NO DIFF
+idx 5744
+inj 77184 1113
+NO DIFF
+idx 5745
+inj 46080 -7511
+46082
+47712
+idx 5746
+inj 56448 586
+57218
+57728
+idx 5747
+inj 244800 -13860
+NO DIFF
+idx 5748
+inj 
+NO DIFF
+idx 5749
+inj 229248 -2895
+NO DIFF
+idx 5750
+inj 145728 4398
+NO DIFF
+idx 5751
+inj 198144 -8
+NO DIFF
+idx 5752
+inj 503424 2073
+504035
+505607
+idx 5753
+inj 147456 13916
+NO DIFF
+idx 5754
+inj 214272 579
+NO DIFF
+idx 5755
+inj 146304 8047
+146306
+147936
+idx 5756
+inj 11008 -91
+11014
+11462
+idx 5757
+inj 252288 -668
+NO DIFF
+idx 5758
+inj 64512 -1507
+NO DIFF
+idx 5759
+inj 196416 -1324
+NO DIFF
+idx 5760
+inj 
+NO DIFF
+idx 5761
+inj 113472 -1307
+NO DIFF
+idx 5762
+inj 90432 -4045
+NO DIFF
+idx 5763
+inj 67520 -1563
+67553
+67937
+idx 5764
+inj 76032 -1155
+76647
+78203
+idx 5765
+inj 24192 12983
+NO DIFF
+idx 5766
+inj 
+NO DIFF
+idx 5767
+inj 281088 4275
+NO DIFF
+idx 5768
+inj 595584 -5333
+595590
+595718
+idx 5769
+inj 89280 936
+89890
+90400
+idx 5770
+inj 194112 -8410
+NO DIFF
+idx 5771
+inj 623232 -9950
+623382
+624720
+idx 5772
+inj 152064 -333
+NO DIFF
+idx 5773
+inj 65664 -1036
+65681
+65681
+idx 5774
+inj 112896 -8988
+NO DIFF
+idx 5775
+inj 133632 8576
+NO DIFF
+idx 5776
+inj 41472 -3534
+41474
+43104
+idx 5777
+inj 240768 -1077
+240770
+242400
+idx 5778
+inj 48384 -7379
+NO DIFF
+idx 5779
+inj 143424 -9017
+144162
+144672
+idx 5780
+inj 23040 -9051
+23042
+24672
+idx 5781
+inj  
+NO DIFF
+idx 5782
+inj 68416 5707
+NO DIFF
+idx 5783
+inj 132960 1416
+132962
+133472
+idx 5784
+inj 6336 1037
+6338
+7968
+idx 5785
+inj 734400 15811
+NO DIFF
+idx 5786
+inj 239616 1697
+NO DIFF
+idx 5787
+inj 70112 -443
+70137
+70265
+idx 5788
+inj 244800 -13860
+NO DIFF
+idx 5789
+inj 85248 -1406
+NO DIFF
+idx 5790
+inj 22464 1806
+NO DIFF
+idx 5791
+inj 
+NO DIFF
+idx 5792
+inj 110016 -3699
+NO DIFF
+idx 5793
+inj 28800 770
+NO DIFF
+idx 5794
+inj 16704 8705
+16706
+18336
+idx 5795
+inj 256320
+256353
+257928
+idx 5796
+inj 172224 -6417
+NO DIFF
+idx 5797
+inj 225888 4691
+225890
+226400
+idx 5798
+inj 1152 -188
+NO DIFF
+idx 5799
+inj 121536 -10309
+NO DIFF
+idx 5800
+inj 304128 -405
+NO DIFF
+idx 5801
+inj 10368
+10566
+12361
+idx 5802
+inj 5760 7174
+5954
+6464
+idx 5803
+inj 370368 6403
+NO DIFF
+idx 5804
+inj 152064 -333
+NO DIFF
+idx 5805
+inj 154368 8134
+NO DIFF
+idx 5806
+inj 35712 694
+NO DIFF
+idx 5807
+inj 0 0
+2
+1440
+idx 5808
+inj 365952 -175
+366386
+366450
+idx 5809
+inj 68896 10109
+69167
+69359
+idx 5810
+inj 36864
+36876
+39046
+idx 5811
+inj 92608 3056
+92656
+93104
+idx 5812
+inj 353760 2534
+NO DIFF
+idx 5813
+inj 
+NO DIFF
+idx 5814
+inj 
+NO DIFF
+idx 5815
+inj 204480 1351
+NO DIFF
+idx 5816
+inj 75456 -447
+NO DIFF
+idx 5817
+inj 9216 1694
+9282
+9792
+idx 5818
+inj 27648 -6986
+NO DIFF
+idx 5819
+inj 231552 2445
+231554
+233184
+idx 5820
+inj 222912 454
+222914
+224544
+idx 5821
+inj 20992 -1132
+20994
+21504
+idx 5822
+inj 
+NO DIFF
+idx 5823
+inj 57600 -4452
+NO DIFF
+idx 5824
+inj 
+NO DIFF
+idx 5825
+inj 112896 -8988
+114018
+114528
+idx 5826
+inj 25920 7892
+25922
+27552
+idx 5827
+inj  
+NO DIFF
+idx 5828
+inj 81344 -7488
+81376
+81760
+idx 5829
+inj 98880 -75
+98882
+99392
+idx 5830
+inj 61632 2178
+NO DIFF
+idx 5831
+inj 129024 7216
+129026
+130656
+idx 5832
+inj 33408 -6609
+NO DIFF
+idx 5833
+inj 104256 2848
+105378
+105888
+idx 5834
+inj 69120 11829
+NO DIFF
+idx 5835
+inj 166208 -640
+NO DIFF
+idx 5836
+inj 261504 
+261651
+263657
+idx 5837
+inj 313344 85
+NO DIFF
+idx 5838
+inj 139968 2441
+NO DIFF
+idx 5839
+inj 282816 -4880
+283394
+283904
+idx 5840
+inj 869184 19231
+NO DIFF
+idx 5841
+inj 152064 -333
+152450
+153312
+idx 5842
+inj 128448 422
+129186
+129696
+idx 5843
+inj 59520 4123
+59552
+59552
+idx 5844
+inj 284544 -1858
+284647
+286053
+idx 5845
+inj 409536 10012
+409538
+411168
+idx 5846
+inj 53184 -746
+53188
+53188
+idx 5847
+inj 154368
+154803
+155595
+idx 5848
+inj 323712 2656
+NO DIFF
+idx 5849
+inj 100224 -3326
+NO DIFF
+idx 5850
+inj 14400 1257
+NO DIFF
+idx 5851
+inj 290880 12122
+NO DIFF
+idx 5852
+inj 136512 -13517
+NO DIFF
+idx 5853
+inj 44928
+44987
+47119
+idx 5854
+inj 14400 
+14454
+15993
+idx 5855
+inj 301248 -3445
+NO DIFF
+idx 5856
+inj 31680 1329
+NO DIFF
+idx 5857
+inj 32256 12
+NO DIFF
+idx 5858
+inj 578880 994
+578882
+580512
+idx 5859
+inj 10400 -1594
+10414
+10862
+idx 5860
+inj 182400 1581
+NO DIFF
+idx 5861
+inj 28640 -7821
+28642
+29152
+idx 5862
+inj 51840 4907
+51860
+51988
+idx 5863
+inj 
+NO DIFF
+idx 5864
+inj 305856 -2962
+NO DIFF
+idx 5865
+inj 105408 -6285
+NO DIFF
+idx 5866
+inj 33984 2066
+NO DIFF
+idx 5867
+inj 343296 7378
+343298
+344928
+idx 5868
+inj 91584 -1182
+NO DIFF
+idx 5869
+inj 
+NO DIFF
+idx 5870
+inj 237312 -6003
+NO DIFF
+idx 5871
+inj 160128 -5477
+NO DIFF
+idx 5872
+inj 237888 -1754
+237890
+239520
+idx 5873
+inj 539136 -5480
+NO DIFF
+idx 5874
+inj 85248 -1406
+NO DIFF
+idx 5875
+inj 294912 1543
+NO DIFF
+idx 5876
+inj  
+NO DIFF
+idx 5877
+inj  
+NO DIFF
+idx 5878
+inj 70272 6255
+NO DIFF
+idx 5879
+inj 157824 -9130
+NO DIFF
+idx 5880
+inj 60480 8032
+NO DIFF
+idx 5881
+inj 421632 3757
+421634
+423264
+idx 5882
+inj 107136 -1234
+NO DIFF
+idx 5883
+inj 14976 -3651
+NO DIFF
+idx 5884
+inj 131328
+131939
+133329
+idx 5885
+inj 
+NO DIFF
+idx 5886
+inj 15392 5127
+NO DIFF
+idx 5887
+inj 172800
+173015
+174948
+idx 5888
+inj 36288 440
+NO DIFF
+idx 5889
+inj 488448 6986
+488450
+490080
+idx 5890
+inj 156096 -6114
+156674
+157536
+idx 5891
+inj 50112
+50330
+51713
+idx 5892
+inj 211392 11015
+NO DIFF
+idx 5893
+inj 77184 1113
+NO DIFF
+idx 5894
+inj 53568 -4579
+53570
+55200
+idx 5895
+inj 201216 -10076
+201615
+201679
+idx 5896
+inj 276480 1007
+NO DIFF
+idx 5897
+inj 910656 3966
+NO DIFF
+idx 5898
+inj 351360 -788
+NO DIFF
+idx 5899
+inj 67968 1144
+NO DIFF
+idx 5900
+inj 312192 -16987
+312194
+313824
+idx 5901
+inj 122112 6579
+122114
+123744
+idx 5902
+inj 211872 -17471
+211874
+212384
+idx 5903
+inj 76032 -1155
+NO DIFF
+idx 5904
+inj 339840 -3983
+339878
+340198
+idx 5905
+inj 455040 -15894
+455042
+456672
+idx 5906
+inj 76032 -1155
+76034
+77664
+idx 5907
+inj 240768 -1077
+240817
+241009
+idx 5908
+inj 187776 -813
+187778
+189408
+idx 5909
+inj 81792 2593
+81794
+83424
+idx 5910
+inj 120384 -140
+NO DIFF
+idx 5911
+inj 44928 8
+44930
+46560
+idx 5912
+inj 101120 3256
+101122
+101632
+idx 5913
+inj 61312 751
+NO DIFF
+idx 5914
+inj 201024 -3489
+201218
+202656
+idx 5915
+inj 387072 -2210
+NO DIFF
+idx 5916
+inj 97920 341
+NO DIFF
+idx 5917
+inj 303552 -8197
+NO DIFF
+idx 5918
+inj 154368 8134
+154914
+155424
+idx 5919
+inj 300672 9686
+NO DIFF
+idx 5920
+inj 593280 -16043
+593282
+594912
+idx 5921
+inj 127872 -1548
+NO DIFF
+idx 5922
+inj  
+NO DIFF
+idx 5923
+inj 663552 -975
+NO DIFF
+idx 5924
+inj 8064 -2903
+8066
+9696
+idx 5925
+inj 54720 4797
+NO DIFF
+idx 5926
+inj 28224 735
+NO DIFF
+idx 5927
+inj 97344 -1524
+NO DIFF
+idx 5928
+inj 225792 6334
+NO DIFF
+idx 5929
+inj 471168 -10105
+NO DIFF
+idx 5930
+inj 195264 4451
+NO DIFF
+idx 5931
+inj 94464 -1413
+NO DIFF
+idx 5932
+inj 95616 -2900
+95618
+97248
+idx 5933
+inj 103104 -6736
+103106
+104736
+idx 5934
+inj 65088 2427
+65570
+66080
+idx 5935
+inj 
+NO DIFF
+idx 5936
+inj 213120 -2501
+NO DIFF
+idx 5937
+inj 320256 -21202
+NO DIFF
+idx 5938
+inj 152640 185
+NO DIFF
+idx 5939
+inj 9792 1862
+NO DIFF
+idx 5940
+inj 37824 4370
+37866
+37994
+idx 5941
+inj 156672 -412
+156834
+157344
+idx 5942
+inj 217152 3259
+217154
+218784
+idx 5943
+inj 36864 11624
+37442
+37952
+idx 5944
+inj 252864 -2540
+NO DIFF
+idx 5945
+inj 72672 -1136
+NO DIFF
+idx 5946
+inj 106560 4150
+NO DIFF
+idx 5947
+inj 95616 -2900
+NO DIFF
+idx 5948
+inj 
+NO DIFF
+idx 5949
+inj 475776 12964
+NO DIFF
+idx 5950
+inj 66240 -361
+NO DIFF
+idx 5951
+inj 176832
+177102
+178386
+idx 5952
+inj 42624 262
+NO DIFF
+idx 5953
+inj 460800 -315
+460802
+462432
+idx 5954
+inj 302400 -15089
+NO DIFF
+idx 5955
+inj 148032 -2258
+NO DIFF
+idx 5956
+inj 414720 1112
+NO DIFF
+idx 5957
+inj 232704 -7586
+232706
+232898
+idx 5958
+inj 293504 4193
+293774
+293966
+idx 5959
+inj 88128 133
+88322
+89760
+idx 5960
+inj 79488 -10302
+79490
+81120
+idx 5961
+inj 33984 2066
+NO DIFF
+idx 5962
+inj 270400 -4051
+270460
+270716
+idx 5963
+inj 110592 2493
+110629
+111013
+idx 5964
+inj 77760 1019
+NO DIFF
+idx 5965
+inj 305280 -1557
+305282
+306912
+idx 5966
+inj 37440 -6220
+NO DIFF
+idx 5967
+inj 10944 -1554
+NO DIFF
+idx 5968
+inj 196416 -1324
+196578
+197088
+idx 5969
+inj 75744 9
+76090
+76218
+idx 5970
+inj 68544 -5728
+68546
+70176
+idx 5971
+inj 471168 -10105
+471170
+472800
+idx 5972
+inj 32256 12
+32258
+33696
+idx 5973
+inj 259200 -7054
+259202
+260832
+idx 5974
+inj 84096 3909
+NO DIFF
+idx 5975
+inj 245952 1539
+NO DIFF
+idx 5976
+inj 201600 -4764
+201922
+202432
+idx 5977
+inj 20736 -943
+NO DIFF
+idx 5978
+inj 20736 -943
+NO DIFF
+idx 5979
+inj 147456 13916
+NO DIFF
+idx 5980
+inj 129024
+129071
+131223
+idx 5981
+inj 59904 -2176
+59906
+61536
+idx 5982
+inj 9792 1862
+NO DIFF
+idx 5983
+inj 23616 -365
+23618
+25248
+idx 5984
+inj 105408 -6285
+105410
+107040
+idx 5985
+inj 11520 524
+11522
+12032
+idx 5986
+inj 157664 1338
+157666
+158176
+idx 5987
+inj 60480 8032
+60482
+60992
+idx 5988
+inj 0 0
+2
+1440
+idx 5989
+inj 322560 7549
+322579
+322707
+idx 5990
+inj 199872 -5468
+199874
+201312
+idx 5991
+inj 87136 -70
+87180
+87500
+idx 5992
+inj 820224 1256
+820226
+821856
+idx 5993
+inj 92736
+92846
+94161
+idx 5994
+inj 198144 -8
+198146
+199776
+idx 5995
+inj 118464 6670
+118680
+118936
+idx 5996
+inj 236160 8315
+237058
+237568
+idx 5997
+inj 209088 19
+NO DIFF
+idx 5998
+inj 
+NO DIFF
+idx 5999
+inj 192960
+193113
+194442
+idx 6000
+inj 105408 -6285
+105410
+107040
+
diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/eval/errinj-history901.txt b/Robust/src/Benchmarks/SSJava/MP3Decoder/eval/errinj-history901.txt
deleted file mode 100644 (file)
index cee145b..0000000
+++ /dev/null
@@ -1,447 +0,0 @@
-idx 901
-inj 311040
-311810
-312274
-idx 902
-inj 260352
-260578
-261042
-idx 903
-inj 55296
-56002
-56466
-idx 904
-inj 24192
-NO DIFF
-idx 905
-inj 243072
-NO DIFF
-idx 906
-inj 191232
-191810
-191826
-idx 907
-inj 314496
-NO DIFF
-idx 908
-inj 374400
-375586
-375778
-idx 909
-inj 163584
-NO DIFF
-idx 910
-inj 130176
-131341
-131661
-idx 911
-inj 140544
-140642
-141106
-idx 912
-inj 39168
-NO DIFF
-idx 913
-inj 43776
-NO DIFF
-idx 914
-inj 208512
-NO DIFF
-idx 915
-inj 230400
-NO DIFF
-idx 916
-inj 1016064
-NO DIFF
-idx 917
-inj 55296
-55522
-55986
-idx 918
-inj 55296
-NO DIFF
-idx 919
-inj 51840
-NO DIFF
-idx 920
-inj 611712
-NO DIFF
-idx 921
-inj 190080
-NO DIFF
-idx 922
-inj 42624
-43202
-43218
-idx 923
-inj 63360
-NO DIFF
-idx 924
-inj 57600
-58178
-58194
-idx 925
-inj 149760
-150210
-150674
-idx 926
-inj 49536
-NO DIFF
-idx 927
-inj 3456
-NO DIFF
-idx 928
-inj 243072
-NO DIFF
-idx 929
-inj 13824
-NO DIFF
-idx 930
-inj 246528
-NO DIFF
-idx 931
-inj 194688
-194690
-194706
-idx 932
-inj 150912
-152034
-152498
-idx 933
-inj 73728
-NO DIFF
-idx 934
-inj 9216
-NO DIFF
-idx 935
-inj 73728
-NO DIFF
-idx 936
-inj 50688
-NO DIFF
-idx 937
-inj 304128
-NO DIFF
-idx 938
-inj 28800
-NO DIFF
-idx 939
-inj 4608
-NO DIFF
-idx 940
-inj 279936
-280866
-281330
-idx 941
-inj 10368
-11561
-11881
-idx 942
-inj 36864
-NO DIFF
-idx 943
-inj 114048
-NO DIFF
-idx 944
-inj 269568
-270370
-270834
-idx 945
-inj 55296
-NO DIFF
-idx 946
-inj 88704
-NO DIFF
-idx 947
-inj 490752
-NO DIFF
-idx 948
-inj 141696
-141980
-142428
-idx 949
-inj 307584
-NO DIFF
-idx 950
-inj 294912
-NO DIFF
-idx 951
-inj 148608
-148610
-148626
-idx 952
-inj 138240
-138818
-138834
-idx 953
-inj 176256
-NO DIFF
-idx 954
-inj 117504
-NO DIFF
-idx 955
-inj 95616
-NO DIFF
-idx 956
-inj 734976
-NO DIFF
-idx 957
-inj 512640
-NO DIFF
-idx 958
-inj 528768
-528770
-528786
-idx 959
-inj 196992
-NO DIFF
-idx 960
-inj 155520
-156445
-156637
-idx 961
-inj 139392
-NO DIFF
-idx 962
-inj 9216
-9410
-9874
-idx 963
-inj 104832
-106029
-106285
-idx 964
-inj 102528
-NO DIFF
-idx 965
-inj 40320
-NO DIFF
-idx 966
-inj 187776
-188130
-188594
-idx 967
-inj 44928
-46530
-46994
-idx 968
-inj 100224
-100802
-100818
-idx 969
-inj 144000
-NO DIFF
-idx 970
-inj 112896
-NO DIFF
-idx 971
-inj 104832
-NO DIFF
-idx 972
-inj 70272
-NO DIFF
-idx 973
-inj 787968
-789228
-790624
-idx 974
-inj 198144
-NO DIFF
-idx 975
-inj 579456
-NO DIFF
-idx 976
-inj 180864
-180866
-180882
-idx 977
-inj 31104
-NO DIFF
-idx 978
-inj 138240
-NO DIFF
-idx 979
-inj 59904
-NO DIFF
-idx 980
-inj 20736
-21314
-21330
-idx 981
-inj 344448
-NO DIFF
-idx 982
-inj 161280
-162786
-163250
-idx 983
-inj 258048
-NO DIFF
-idx 984
-inj 65664
-NO DIFF
-idx 985
-inj 153216
-NO DIFF
-idx 986
-inj playing
-NO DIFF
-idx 987
-inj 18432
-NO DIFF
-idx 988
-inj 66816
-NO DIFF
-idx 989
-inj 255744
-NO DIFF
-idx 990
-inj 41472
-42402
-42866
-idx 991
-inj 254592
-NO DIFF
-idx 992
-inj 48384
-NO DIFF
-idx 993
-inj 66816
-NO DIFF
-idx 994
-inj 16128
-16706
-16722
-idx 995
-inj 376704
-NO DIFF
-idx 996
-inj 65664
-NO DIFF
-idx 997
-inj 6912
-6914
-6930
-idx 998
-inj 80640
-81826
-82082
-idx 999
-inj 18432
-NO DIFF
-idx 1000
-inj 173952
-175138
-175602
-idx 1001
-inj 65664
-NO DIFF
-idx 1002
-inj 11520
-12450
-12914
-idx 1003
-inj 158976
-NO DIFF
-idx 1004
-inj 138240
-NO DIFF
-idx 1005
-inj 18432
-NO DIFF
-idx 1006
-inj 549504
-NO DIFF
-idx 1007
-inj 224640
-NO DIFF
-idx 1008
-inj 2304
-NO DIFF
-idx 1009
-inj 144000
-NO DIFF
-idx 1010
-inj 126720
-NO DIFF
-idx 1011
-inj 88704
-NO DIFF
-idx 1012
-inj 707328
-NO DIFF
-idx 1013
-inj 52992
-52994
-53010
-idx 1014
-inj 97920
-NO DIFF
-idx 1015
-inj 228096
-229254
-229382
-idx 1016
-inj 18432
-NO DIFF
-idx 1017
-inj 91008
-NO DIFF
-idx 1018
-inj 175104
-175682
-175698
-idx 1019
-inj 70272
-NO DIFF
-idx 1020
-inj 308736
-NO DIFF
-idx 1021
-inj 11520
-NO DIFF
-idx 1022
-inj 72576
-73154
-73170
-idx 1023
-inj 102528
-103317
-104524
-idx 1024
-inj 277632
-279455
-280890
-idx 1025
-inj 152064
-NO DIFF
-idx 1026
-inj 172800
-NO DIFF
-idx 1027
-inj 249984
-NO DIFF
-idx 1028
-inj 207360
-NO DIFF
-idx 1029
-inj 370944
-371522
-371538
-idx 1030
-inj 119808
-120386
-120402
-idx 1031
-inj 1152
-NO DIFF
-idx 1032
-inj 10368
-NO DIFF
-idx 1033
-inj 9216
-9506
-9970
-idx 1034
-inj 97920
-NO DIFF
index 3f7f58bd6afaffe68013e782414c4d80d145c269..b3812cd02008036e14e35aa98a043c5d7a669b7e 100644 (file)
@@ -31,7 +31,7 @@ $(PROGRAM)n.bin: $(SOURCE_FILES) makefile
        $(BUILDSCRIPT) $(NORMAL) $(BSFLAGS) -o $(PROGRAM)n -builddir norm $(SOURCE_FILES) 
 
 $(PROGRAM)e.bin: $(SOURCE_FILES) makefile
-       $(BUILDSCRIPT) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
+       $(BUILDSCRIPT) $(SSJAVA) $(INJECT_ERROR) $(BSFLAGS) -o $(PROGRAM)e -builddir injerr $(SOURCE_FILES) 
 
 cleanerror:
        rm -f $(PROGRAM)e.bin
@@ -44,7 +44,6 @@ clean:
        rm -f  *~
        rm -f  *.dot
        rm -f  *.png
-       rm -f  *.txt
        rm -f  aliases.txt
        rm -f  results*txt
        rm -f *log
diff --git a/Robust/src/Benchmarks/SSJava/MP3Decoder/parse.sh b/Robust/src/Benchmarks/SSJava/MP3Decoder/parse.sh
new file mode 100755 (executable)
index 0000000..d8c5125
--- /dev/null
@@ -0,0 +1,2 @@
+javac -cp . DataParse.java
+java -cp . DataParse
index a916af0dda4fd161b16a80dfb99203084f56f960..62af355d24bb39cc2c11c0dce6bc26ed5331b845 100755 (executable)
@@ -19,4 +19,4 @@ else
   echo 'NO DIFF!'
 fi
 
-gnuplot -persist nve.cmds
+#gnuplot -persist nve.cmds
index 4642b81bf489bfafc84f7776136bb4cec2cadeed..cd21eb2c8673ec185d2a00d78d287ea1fc13d4e7 100755 (executable)
@@ -1 +1 @@
-./MP3Player.bin focus.mp3
\ No newline at end of file
+./MP3Players.bin focus.mp3
\ No newline at end of file
index 9ca5bf27082a9e097a8a08d221d46d1813780d29..a3b7187df72f2ba8931c6d8bc51cbeb72e558e24 100755 (executable)
@@ -20,15 +20,17 @@ trycommand () {
 }
 
 F=114.mp3
-H=errinj-history.txt
+H=errinj-history-$1.txt
 D=errinj-diff.tmp
 X=errinj-diff-ranges.tmp
 T=errinj-range.tmp
 
 trycommand "rm $H"
 
-max=$(($1+100))
+max=$(($1+1))
 
+echo "### make normal"
+trycommand "make normal"
 echo "### run normal"
 trycommand "run-normal.sh $F"
 
@@ -36,8 +38,6 @@ for (( i=$1;i<max;i++))
 do
   echo 'idx' $i >> $H
   trycommand "rm $X"
-  echo "### make normal"
-  trycommand "make normal"
   trycommand "make cleanerror"
   echo "### make error"
   trycommand "make error INV_ERROR_PROB=10000000 RANDOMSEED=$i"
@@ -46,13 +46,13 @@ do
   diff normal.txt error.txt > $D
   sed \
   -e '/^[^0-9]/ d' \
-  -e  's/\(.*\),\(.*\)c.*/\1/' \
+  -e  's/\(.*\),\(.*\)c.*/\1\n\2/' \
   -e  's/\(.*\)c.*/\1/' \
   -e  's/\(.*\)a.*/\1/' \
   $D >> $X
   if [[ -s $D ]] ; then
-    awk 'NR==1;END{print}' $X > $T
-    awk 'NR==1{s=$0;getline;e=$0;if(s==e) print "NO DIFF";else print s"\n"e}' $T >> $H
+    awk 'NR==1;END{print}' $X >> $H
+    #awk 'NR==1{s=$0;getline;e=$0;if(s==e) print s;else print s"\n"e}' $T >> $H
   else
     echo 'NO DIFF' >> $H
   fi
index 79041c414632e68c6660f629a42de8d08352ec4c..10dd56d28d3377fcd25d1b8e0003890b22c7dd1c 100755 (executable)
@@ -9,7 +9,8 @@ MP3Playere.bin $1 > error.txt
 
 grep "SSJAVA: Injecting error" error.txt
 
-awk '{if($1=="SSJAVA:" && $2=="Injecting"){print "inj",x};{x=$1} }' error.txt >> $2 
+#awk '{if($1=="SSJAVA:" && $2=="Injecting"){print "inj",x};{x=$1} }' error.txt >> $2 
+awk '{if($1=="SSJAVA:" && $2=="Injecting"){getline; print "inj",$0} }' error.txt >> $2 
 
 X=converterTempFile
 
index a7353d71359efa642b674c22e2e6e2cefeff0492..59b08c89484908daba20c7e247076cb3671e626a 100644 (file)
@@ -36,14 +36,13 @@ this exception to your version of the library, but you are not
 obligated to do so.  If you do not wish to do so, delete this
 exception statement from your version. */
 
-
 /**
- * Instances of class <code>Float</code> represent primitive
- * <code>float</code> values.
- *
+ * Instances of class <code>Float</code> represent primitive <code>float</code>
+ * values.
+ * 
  * Additionally, this class provides various helper functions and variables
  * related to floats.
- *
+ * 
  * @author Paul Fisher
  * @author Andrew Haley (aph@cygnus.com)
  * @author Eric Blake (ebb9@email.byu.edu)
@@ -52,22 +51,20 @@ exception statement from your version. */
  * @since 1.0
  * @status partly updated to 1.5
  */
-public final class Float
-{
+public final class Float {
   /**
    * Compatible with JDK 1.0+.
    */
   private static final long serialVersionUID = -2671257302660747028L;
 
   /**
-   * The maximum positive value a <code>double</code> may represent
-   * is 3.4028235e+38f.
+   * The maximum positive value a <code>double</code> may represent is
+   * 3.4028235e+38f.
    */
   public static final float MAX_VALUE = 3.4028235e+38f;
 
   /**
-   * The minimum positive value a <code>float</code> may represent
-   * is 1.4e-45.
+   * The minimum positive value a <code>float</code> may represent is 1.4e-45.
    */
   public static final float MIN_VALUE = 1.4e-45f;
 
@@ -89,12 +86,15 @@ public final class Float
   /**
    * The primitive type <code>float</code> is represented by this
    * <code>Class</code> object.
+   * 
    * @since 1.1
    */
-  //public static final Class<Float> TYPE = (Class<Float>) VMClassLoader.getPrimitiveClass('F');
+  // public static final Class<Float> TYPE = (Class<Float>)
+  // VMClassLoader.getPrimitiveClass('F');
 
   /**
    * The number of bits needed to represent a <code>float</code>.
+   * 
    * @since 1.5
    */
   public static final int SIZE = 32;
@@ -111,7 +111,7 @@ public final class Float
 
   /**
    * The immutable value of this Float.
-   *
+   * 
    * @serial the wrapped float
    */
   private final float value;
@@ -119,183 +119,174 @@ public final class Float
   /**
    * Create a <code>Float</code> from the primitive <code>float</code>
    * specified.
-   *
-   * @param value the <code>float</code> argument
+   * 
+   * @param value
+   *          the <code>float</code> argument
    */
-  public Float(float value)
-  {
+  public Float(float value) {
     this.value = value;
   }
 
   /**
    * Create a <code>Float</code> from the primitive <code>double</code>
    * specified.
-   *
-   * @param value the <code>double</code> argument
+   * 
+   * @param value
+   *          the <code>double</code> argument
    */
-  public Float(double value)
-  {
+  public Float(double value) {
     this.value = (float) value;
   }
 
   /**
-   * Create a <code>Float</code> from the specified <code>String</code>.
-   * This method calls <code>Float.parseFloat()</code>.
-   *
-   * @param s the <code>String</code> to convert
-   * @throws NumberFormatException if <code>s</code> cannot be parsed as a
-   *         <code>float</code>
-   * @throws NullPointerException if <code>s</code> is null
+   * Create a <code>Float</code> from the specified <code>String</code>. This
+   * method calls <code>Float.parseFloat()</code>.
+   * 
+   * @param s
+   *          the <code>String</code> to convert
+   * @throws NumberFormatException
+   *           if <code>s</code> cannot be parsed as a <code>float</code>
+   * @throws NullPointerException
+   *           if <code>s</code> is null
    * @see #parseFloat(String)
    */
-  public Float(String s)
-  {
+  public Float(String s) {
     value = parseFloat(s);
   }
 
   /**
-   * Convert the <code>float</code> to a <code>String</code>.
-   * Floating-point string representation is fairly complex: here is a
-   * rundown of the possible values.  "<code>[-]</code>" indicates that a
-   * negative sign will be printed if the value (or exponent) is negative.
-   * "<code>&lt;number&gt;</code>" means a string of digits ('0' to '9').
-   * "<code>&lt;digit&gt;</code>" means a single digit ('0' to '9').<br>
-   *
+   * Convert the <code>float</code> to a <code>String</code>. Floating-point
+   * string representation is fairly complex: here is a rundown of the possible
+   * values. "<code>[-]</code>" indicates that a negative sign will be printed
+   * if the value (or exponent) is negative. "<code>&lt;number&gt;</code>" means
+   * a string of digits ('0' to '9'). "<code>&lt;digit&gt;</code>" means a
+   * single digit ('0' to '9').<br>
+   * 
    * <table border=1>
-   * <tr><th>Value of Float</th><th>String Representation</th></tr>
-   * <tr><td>[+-] 0</td> <td><code>[-]0.0</code></td></tr>
-   * <tr><td>Between [+-] 10<sup>-3</sup> and 10<sup>7</sup>, exclusive</td>
-   *     <td><code>[-]number.number</code></td></tr>
-   * <tr><td>Other numeric value</td>
-   *     <td><code>[-]&lt;digit&gt;.&lt;number&gt;
-   *          E[-]&lt;number&gt;</code></td></tr>
-   * <tr><td>[+-] infinity</td> <td><code>[-]Infinity</code></td></tr>
-   * <tr><td>NaN</td> <td><code>NaN</code></td></tr>
+   * <tr>
+   * <th>Value of Float</th>
+   * <th>String Representation</th>
+   * </tr>
+   * <tr>
+   * <td>[+-] 0</td>
+   * <td><code>[-]0.0</code></td>
+   * </tr>
+   * <tr>
+   * <td>Between [+-] 10<sup>-3</sup> and 10<sup>7</sup>, exclusive</td>
+   * <td><code>[-]number.number</code></td>
+   * </tr>
+   * <tr>
+   * <td>Other numeric value</td>
+   * <td><code>[-]&lt;digit&gt;.&lt;number&gt;
+   *          E[-]&lt;number&gt;</code></td>
+   * </tr>
+   * <tr>
+   * <td>[+-] infinity</td>
+   * <td><code>[-]Infinity</code></td>
+   * </tr>
+   * <tr>
+   * <td>NaN</td>
+   * <td><code>NaN</code></td>
+   * </tr>
    * </table>
-   *
-   * Yes, negative zero <em>is</em> a possible value.  Note that there is
-   * <em>always</em> a <code>.</code> and at least one digit printed after
-   * it: even if the number is 3, it will be printed as <code>3.0</code>.
-   * After the ".", all digits will be printed except trailing zeros. The
-   * result is rounded to the shortest decimal number which will parse back
-   * to the same float.
-   *
-   * <p>To create other output formats, use {@link java.text.NumberFormat}.
-   *
+   * 
+   * Yes, negative zero <em>is</em> a possible value. Note that there is
+   * <em>always</em> a <code>.</code> and at least one digit printed after it:
+   * even if the number is 3, it will be printed as <code>3.0</code>. After the
+   * ".", all digits will be printed except trailing zeros. The result is
+   * rounded to the shortest decimal number which will parse back to the same
+   * float.
+   * 
+   * <p>
+   * To create other output formats, use {@link java.text.NumberFormat}.
+   * 
    * @XXX specify where we are not in accord with the spec.
-   *
-   * @param f the <code>float</code> to convert
+   * 
+   * @param f
+   *          the <code>float</code> to convert
    * @return the <code>String</code> representing the <code>float</code>
    */
-  /*public static String toString(float f)
-  {
-    return VMFloat.toString(f);
-  }*/
+  /*
+   * public static String toString(float f) { return VMFloat.toString(f); }
+   */
 
   /**
-   * Convert a float value to a hexadecimal string.  This converts as
-   * follows:
+   * Convert a float value to a hexadecimal string. This converts as follows:
    * <ul>
-   * <li> A NaN value is converted to the string "NaN".
-   * <li> Positive infinity is converted to the string "Infinity".
-   * <li> Negative infinity is converted to the string "-Infinity".
-   * <li> For all other values, the first character of the result is '-'
-   * if the value is negative.  This is followed by '0x1.' if the
-   * value is normal, and '0x0.' if the value is denormal.  This is
-   * then followed by a (lower-case) hexadecimal representation of the
-   * mantissa, with leading zeros as required for denormal values.
-   * The next character is a 'p', and this is followed by a decimal
-   * representation of the unbiased exponent.
+   * <li>A NaN value is converted to the string "NaN".
+   * <li>Positive infinity is converted to the string "Infinity".
+   * <li>Negative infinity is converted to the string "-Infinity".
+   * <li>For all other values, the first character of the result is '-' if the
+   * value is negative. This is followed by '0x1.' if the value is normal, and
+   * '0x0.' if the value is denormal. This is then followed by a (lower-case)
+   * hexadecimal representation of the mantissa, with leading zeros as required
+   * for denormal values. The next character is a 'p', and this is followed by a
+   * decimal representation of the unbiased exponent.
    * </ul>
-   * @param f the float value
+   * 
+   * @param f
+   *          the float value
    * @return the hexadecimal string representation
    * @since 1.5
    */
-  /*public static String toHexString(float f)
-  {
-    if (isNaN(f))
-      return "NaN";
-    if (isInfinite(f))
-      return f < 0 ? "-Infinity" : "Infinity";
-
-    int bits = floatToIntBits(f);
-    CPStringBuilder result = new CPStringBuilder();
-    
-    if (bits < 0)
-      result.append('-');
-    result.append("0x");
-
-    final int mantissaBits = 23;
-    final int exponentBits = 8;
-    int mantMask = (1 << mantissaBits) - 1;
-    int mantissa = bits & mantMask;
-    int expMask = (1 << exponentBits) - 1;
-    int exponent = (bits >>> mantissaBits) & expMask;
-
-    result.append(exponent == 0 ? '0' : '1');
-    result.append('.');
-    // For Float only, we have to adjust the mantissa.
-    mantissa <<= 1;
-    result.append(Integer.toHexString(mantissa));
-    if (exponent == 0 && mantissa != 0)
-      {
-        // Treat denormal specially by inserting '0's to make
-        // the length come out right.  The constants here are
-        // to account for things like the '0x'.
-        int offset = 4 + ((bits < 0) ? 1 : 0);
-        // The silly +3 is here to keep the code the same between
-        // the Float and Double cases.  In Float the value is
-        // not a multiple of 4.
-        int desiredLength = offset + (mantissaBits + 3) / 4;
-        while (result.length() < desiredLength)
-          result.insert(offset, '0');
-      }
-    result.append('p');
-    if (exponent == 0 && mantissa == 0)
-      {
-        // Zero, so do nothing special.
-      }
-    else
-      {
-        // Apply bias.
-        boolean denormal = exponent == 0;
-        exponent -= (1 << (exponentBits - 1)) - 1;
-        // Handle denormal.
-        if (denormal)
-          ++exponent;
-      }
-
-    result.append(Integer.toString(exponent));
-    return result.toString();
-  }*/
+  /*
+   * public static String toHexString(float f) { if (isNaN(f)) return "NaN"; if
+   * (isInfinite(f)) return f < 0 ? "-Infinity" : "Infinity";
+   * 
+   * int bits = floatToIntBits(f); CPStringBuilder result = new
+   * CPStringBuilder();
+   * 
+   * if (bits < 0) result.append('-'); result.append("0x");
+   * 
+   * final int mantissaBits = 23; final int exponentBits = 8; int mantMask = (1
+   * << mantissaBits) - 1; int mantissa = bits & mantMask; int expMask = (1 <<
+   * exponentBits) - 1; int exponent = (bits >>> mantissaBits) & expMask;
+   * 
+   * result.append(exponent == 0 ? '0' : '1'); result.append('.'); // For Float
+   * only, we have to adjust the mantissa. mantissa <<= 1;
+   * result.append(Integer.toHexString(mantissa)); if (exponent == 0 && mantissa
+   * != 0) { // Treat denormal specially by inserting '0's to make // the length
+   * come out right. The constants here are // to account for things like the
+   * '0x'. int offset = 4 + ((bits < 0) ? 1 : 0); // The silly +3 is here to
+   * keep the code the same between // the Float and Double cases. In Float the
+   * value is // not a multiple of 4. int desiredLength = offset + (mantissaBits
+   * + 3) / 4; while (result.length() < desiredLength) result.insert(offset,
+   * '0'); } result.append('p'); if (exponent == 0 && mantissa == 0) { // Zero,
+   * so do nothing special. } else { // Apply bias. boolean denormal = exponent
+   * == 0; exponent -= (1 << (exponentBits - 1)) - 1; // Handle denormal. if
+   * (denormal) ++exponent; }
+   * 
+   * result.append(Integer.toString(exponent)); return result.toString(); }
+   */
 
   /**
    * Creates a new <code>Float</code> object using the <code>String</code>.
-   *
-   * @param s the <code>String</code> to convert
+   * 
+   * @param s
+   *          the <code>String</code> to convert
    * @return the new <code>Float</code>
-   * @throws NumberFormatException if <code>s</code> cannot be parsed as a
-   *         <code>float</code>
-   * @throws NullPointerException if <code>s</code> is null
+   * @throws NumberFormatException
+   *           if <code>s</code> cannot be parsed as a <code>float</code>
+   * @throws NullPointerException
+   *           if <code>s</code> is null
    * @see #parseFloat(String)
    */
-  public static Float valueOf(String s)
-  {
+  public static Float valueOf(String s) {
     return valueOf(parseFloat(s));
   }
 
   /**
-   * Returns a <code>Float</code> object wrapping the value.
-   * In contrast to the <code>Float</code> constructor, this method
-   * may cache some values.  It is used by boxing conversion.
-   *
-   * @param val the value to wrap
+   * Returns a <code>Float</code> object wrapping the value. In contrast to the
+   * <code>Float</code> constructor, this method may cache some values. It is
+   * used by boxing conversion.
+   * 
+   * @param val
+   *          the value to wrap
    * @return the <code>Float</code>
    * @since 1.5
    */
-  public static Float valueOf(float val)
-  {
-    if ((val == 0.0)/* && (floatToRawIntBits(val) == 0)*/)
+  public static Float valueOf(float val) {
+    if ((val == 0.0)/* && (floatToRawIntBits(val) == 0) */)
       return ZERO;
     else if (val == 1.0)
       return ONE;
@@ -306,6 +297,7 @@ public final class Float
   /**
    * Parse the specified <code>String</code> as a <code>float</code>. The
    * extended BNF grammar is as follows:<br>
+   * 
    * <pre>
    * <em>DecodableString</em>:
    *      ( [ <code>-</code> | <code>+</code> ] <code>NaN</code> )
@@ -322,178 +314,172 @@ public final class Float
    *              [ <code>-</code> | <code>+</code> ] { <em>Digit</em> }+ )
    * <em>Digit</em>: <em><code>'0'</code> through <code>'9'</code></em>
    * </pre>
-   *
-   * <p>NaN and infinity are special cases, to allow parsing of the output
-   * of toString.  Otherwise, the result is determined by calculating
-   * <em>n * 10<sup>exponent</sup></em> to infinite precision, then rounding
-   * to the nearest float. Remember that many numbers cannot be precisely
-   * represented in floating point. In case of overflow, infinity is used,
-   * and in case of underflow, signed zero is used. Unlike Integer.parseInt,
-   * this does not accept Unicode digits outside the ASCII range.
-   *
-   * <p>If an unexpected character is found in the <code>String</code>, a
-   * <code>NumberFormatException</code> will be thrown.  Leading and trailing
-   * 'whitespace' is ignored via <code>String.trim()</code>, but spaces
-   * internal to the actual number are not allowed.
-   *
-   * <p>To parse numbers according to another format, consider using
+   * 
+   * <p>
+   * NaN and infinity are special cases, to allow parsing of the output of
+   * toString. Otherwise, the result is determined by calculating
+   * <em>n * 10<sup>exponent</sup></em> to infinite precision, then rounding to
+   * the nearest float. Remember that many numbers cannot be precisely
+   * represented in floating point. In case of overflow, infinity is used, and
+   * in case of underflow, signed zero is used. Unlike Integer.parseInt, this
+   * does not accept Unicode digits outside the ASCII range.
+   * 
+   * <p>
+   * If an unexpected character is found in the <code>String</code>, a
+   * <code>NumberFormatException</code> will be thrown. Leading and trailing
+   * 'whitespace' is ignored via <code>String.trim()</code>, but spaces internal
+   * to the actual number are not allowed.
+   * 
+   * <p>
+   * To parse numbers according to another format, consider using
    * {@link java.text.NumberFormat}.
-   *
+   * 
    * @XXX specify where/how we are not in accord with the spec.
-   *
-   * @param str the <code>String</code> to convert
+   * 
+   * @param str
+   *          the <code>String</code> to convert
    * @return the <code>float</code> value of <code>s</code>
-   * @throws NumberFormatException if <code>str</code> cannot be parsed as a
-   *         <code>float</code>
-   * @throws NullPointerException if <code>str</code> is null
+   * @throws NumberFormatException
+   *           if <code>str</code> cannot be parsed as a <code>float</code>
+   * @throws NullPointerException
+   *           if <code>str</code> is null
    * @see #MIN_VALUE
    * @see #MAX_VALUE
    * @see #POSITIVE_INFINITY
    * @see #NEGATIVE_INFINITY
    * @since 1.2
    */
-  public static float parseFloat(String str)
-  {
-    //return VMFloat.parseFloat(str);
-    return (float)(Double.parseDouble(str));
+  public static float parseFloat(String str) {
+    // return VMFloat.parseFloat(str);
+    return (float) (Double.parseDouble(str));
   }
 
   /**
-   * Return <code>true</code> if the <code>float</code> has the same
-   * value as <code>NaN</code>, otherwise return <code>false</code>.
-   *
-   * @param v the <code>float</code> to compare
+   * Return <code>true</code> if the <code>float</code> has the same value as
+   * <code>NaN</code>, otherwise return <code>false</code>.
+   * 
+   * @param v
+   *          the <code>float</code> to compare
    * @return whether the argument is <code>NaN</code>
    */
-  public static boolean isNaN(float v)
-  {
+  public static boolean isNaN(float v) {
     // This works since NaN != NaN is the only reflexive inequality
     // comparison which returns true.
     return v != v;
   }
 
   /**
-   * Return <code>true</code> if the <code>float</code> has a value
-   * equal to either <code>NEGATIVE_INFINITY</code> or
-   * <code>POSITIVE_INFINITY</code>, otherwise return <code>false</code>.
-   *
-   * @param v the <code>float</code> to compare
+   * Return <code>true</code> if the <code>float</code> has a value equal to
+   * either <code>NEGATIVE_INFINITY</code> or <code>POSITIVE_INFINITY</code>,
+   * otherwise return <code>false</code>.
+   * 
+   * @param v
+   *          the <code>float</code> to compare
    * @return whether the argument is (-/+) infinity
    */
-  public static boolean isInfinite(float v)
-  {
+  public static boolean isInfinite(float v) {
     return v == POSITIVE_INFINITY || v == NEGATIVE_INFINITY;
   }
 
   /**
-   * Return <code>true</code> if the value of this <code>Float</code>
-   * is the same as <code>NaN</code>, otherwise return <code>false</code>.
-   *
+   * Return <code>true</code> if the value of this <code>Float</code> is the
+   * same as <code>NaN</code>, otherwise return <code>false</code>.
+   * 
    * @return whether this <code>Float</code> is <code>NaN</code>
    */
-  public boolean isNaN()
-  {
+  public boolean isNaN() {
     return isNaN(value);
   }
 
   /**
-   * Return <code>true</code> if the value of this <code>Float</code>
-   * is the same as <code>NEGATIVE_INFINITY</code> or
-   * <code>POSITIVE_INFINITY</code>, otherwise return <code>false</code>.
-   *
+   * Return <code>true</code> if the value of this <code>Float</code> is the
+   * same as <code>NEGATIVE_INFINITY</code> or <code>POSITIVE_INFINITY</code>,
+   * otherwise return <code>false</code>.
+   * 
    * @return whether this <code>Float</code> is (-/+) infinity
    */
-  public boolean isInfinite()
-  {
+  public boolean isInfinite() {
     return isInfinite(value);
   }
 
   /**
-   * Convert the <code>float</code> value of this <code>Float</code>
-   * to a <code>String</code>.  This method calls
-   * <code>Float.toString(float)</code> to do its dirty work.
-   *
+   * Convert the <code>float</code> value of this <code>Float</code> to a
+   * <code>String</code>. This method calls <code>Float.toString(float)</code>
+   * to do its dirty work.
+   * 
    * @return the <code>String</code> representation
    * @see #toString(float)
    */
-  /*public String toString()
-  {
-    return toString(value);
-  }*/
+  /*
+   * public String toString() { return toString(value); }
+   */
 
   /**
    * Return the value of this <code>Float</code> as a <code>byte</code>.
-   *
+   * 
    * @return the byte value
    * @since 1.1
    */
-  public byte byteValue()
-  {
+  public byte byteValue() {
     return (byte) value;
   }
 
   /**
    * Return the value of this <code>Float</code> as a <code>short</code>.
-   *
+   * 
    * @return the short value
    * @since 1.1
    */
-  public short shortValue()
-  {
+  public short shortValue() {
     return (short) value;
   }
 
   /**
    * Return the value of this <code>Integer</code> as an <code>int</code>.
-   *
+   * 
    * @return the int value
    */
-  public int intValue()
-  {
+  public int intValue() {
     return (int) value;
   }
 
   /**
    * Return the value of this <code>Integer</code> as a <code>long</code>.
-   *
+   * 
    * @return the long value
    */
-  public long longValue()
-  {
+  public long longValue() {
     return (long) value;
   }
 
   /**
    * Return the value of this <code>Float</code>.
-   *
+   * 
    * @return the float value
    */
-  public float floatValue()
-  {
+  public float floatValue() {
     return value;
   }
 
   /**
    * Return the value of this <code>Float</code> as a <code>double</code>
-   *
+   * 
    * @return the double value
    */
-  public double doubleValue()
-  {
+  public double doubleValue() {
     return value;
   }
 
   /**
-   * Return a hashcode representing this Object. <code>Float</code>'s hash
-   * code is calculated by calling <code>floatToIntBits(floatValue())</code>.
-   *
+   * Return a hashcode representing this Object. <code>Float</code>'s hash code
+   * is calculated by calling <code>floatToIntBits(floatValue())</code>.
+   * 
    * @return this Object's hash code
    * @see #floatToIntBits(float)
    */
-  /*public int hashCode()
-  {
-    return floatToIntBits(value);
-  }*/
+  /*
+   * public int hashCode() { return floatToIntBits(value); }
+   */
 
   /**
    * Returns <code>true</code> if <code>obj</code> is an instance of
@@ -501,130 +487,119 @@ public final class Float
    * two floats with <code>==</code>, this treats two instances of
    * <code>Float.NaN</code> as equal, but treats <code>0.0</code> and
    * <code>-0.0</code> as unequal.
-   *
-   * <p>Note that <code>f1.equals(f2)</code> is identical to
+   * 
+   * <p>
+   * Note that <code>f1.equals(f2)</code> is identical to
    * <code>floatToIntBits(f1.floatValue()) ==
    *    floatToIntBits(f2.floatValue())</code>.
-   *
-   * @param obj the object to compare
+   * 
+   * @param obj
+   *          the object to compare
    * @return whether the objects are semantically equal
    */
-  /*public boolean equals(Object obj)
-  {
-    if (obj instanceof Float)
-      {
-        float f = ((Float) obj).value;
-        return (floatToRawIntBits(value) == floatToRawIntBits(f)) ||
-          (isNaN(value) && isNaN(f));
-      }
-    return false;
-  }*/
+  /*
+   * public boolean equals(Object obj) { if (obj instanceof Float) { float f =
+   * ((Float) obj).value; return (floatToRawIntBits(value) ==
+   * floatToRawIntBits(f)) || (isNaN(value) && isNaN(f)); } return false; }
+   */
 
   /**
    * Convert the float to the IEEE 754 floating-point "single format" bit
-   * layout. Bit 31 (the most significant) is the sign bit, bits 30-23
-   * (masked by 0x7f800000) represent the exponent, and bits 22-0
-   * (masked by 0x007fffff) are the mantissa. This function collapses all
-   * versions of NaN to 0x7fc00000. The result of this function can be used
-   * as the argument to <code>Float.intBitsToFloat(int)</code> to obtain the
-   * original <code>float</code> value.
-   *
-   * @param value the <code>float</code> to convert
+   * layout. Bit 31 (the most significant) is the sign bit, bits 30-23 (masked
+   * by 0x7f800000) represent the exponent, and bits 22-0 (masked by 0x007fffff)
+   * are the mantissa. This function collapses all versions of NaN to
+   * 0x7fc00000. The result of this function can be used as the argument to
+   * <code>Float.intBitsToFloat(int)</code> to obtain the original
+   * <code>float</code> value.
+   * 
+   * @param value
+   *          the <code>float</code> to convert
    * @return the bits of the <code>float</code>
    * @see #intBitsToFloat(int)
    */
-  /*public static int floatToIntBits(float value)
-  {
-    if (isNaN(value))
-      return 0x7fc00000;
-    else
-      return VMFloat.floatToRawIntBits(value);
-  }*/
+  /*
+   * public static int floatToIntBits(float value) { if (isNaN(value)) return
+   * 0x7fc00000; else return VMFloat.floatToRawIntBits(value); }
+   */
 
   /**
    * Convert the float to the IEEE 754 floating-point "single format" bit
-   * layout. Bit 31 (the most significant) is the sign bit, bits 30-23
-   * (masked by 0x7f800000) represent the exponent, and bits 22-0
-   * (masked by 0x007fffff) are the mantissa. This function leaves NaN alone,
-   * rather than collapsing to a canonical value. The result of this function
-   * can be used as the argument to <code>Float.intBitsToFloat(int)</code> to
-   * obtain the original <code>float</code> value.
-   *
-   * @param value the <code>float</code> to convert
+   * layout. Bit 31 (the most significant) is the sign bit, bits 30-23 (masked
+   * by 0x7f800000) represent the exponent, and bits 22-0 (masked by 0x007fffff)
+   * are the mantissa. This function leaves NaN alone, rather than collapsing to
+   * a canonical value. The result of this function can be used as the argument
+   * to <code>Float.intBitsToFloat(int)</code> to obtain the original
+   * <code>float</code> value.
+   * 
+   * @param value
+   *          the <code>float</code> to convert
    * @return the bits of the <code>float</code>
    * @see #intBitsToFloat(int)
    */
-  /*public static int floatToRawIntBits(float value)
-  {
-    return VMFloat.floatToRawIntBits(value);
-  }*/
+  /*
+   * public static int floatToRawIntBits(float value) { return
+   * VMFloat.floatToRawIntBits(value); }
+   */
 
   /**
-   * Convert the argument in IEEE 754 floating-point "single format" bit
-   * layout to the corresponding float. Bit 31 (the most significant) is the
-   * sign bit, bits 30-23 (masked by 0x7f800000) represent the exponent, and
-   * bits 22-0 (masked by 0x007fffff) are the mantissa. This function leaves
-   * NaN alone, so that you can recover the bit pattern with
+   * Convert the argument in IEEE 754 floating-point "single format" bit layout
+   * to the corresponding float. Bit 31 (the most significant) is the sign bit,
+   * bits 30-23 (masked by 0x7f800000) represent the exponent, and bits 22-0
+   * (masked by 0x007fffff) are the mantissa. This function leaves NaN alone, so
+   * that you can recover the bit pattern with
    * <code>Float.floatToRawIntBits(float)</code>.
-   *
-   * @param bits the bits to convert
+   * 
+   * @param bits
+   *          the bits to convert
    * @return the <code>float</code> represented by the bits
    * @see #floatToIntBits(float)
    * @see #floatToRawIntBits(float)
    */
-  /*public static float intBitsToFloat(int bits)
-  {
-    return VMFloat.intBitsToFloat(bits);
-  }*/
+  /*
+   * public static float intBitsToFloat(int bits) { return
+   * VMFloat.intBitsToFloat(bits); }
+   */
 
   /**
    * Compare two Floats numerically by comparing their <code>float</code>
    * values. The result is positive if the first is greater, negative if the
-   * second is greater, and 0 if the two are equal. However, this special
-   * cases NaN and signed zero as follows: NaN is considered greater than
-   * all other floats, including <code>POSITIVE_INFINITY</code>, and positive
-   * zero is considered greater than negative zero.
-   *
-   * @param f the Float to compare
+   * second is greater, and 0 if the two are equal. However, this special cases
+   * NaN and signed zero as follows: NaN is considered greater than all other
+   * floats, including <code>POSITIVE_INFINITY</code>, and positive zero is
+   * considered greater than negative zero.
+   * 
+   * @param f
+   *          the Float to compare
    * @return the comparison
    * @since 1.2
    */
-  /*public int compareTo(Float f)
-  {
-    return compare(value, f.value);
-  }*/
+  /*
+   * public int compareTo(Float f) { return compare(value, f.value); }
+   */
 
   /**
-   * Behaves like <code>new Float(x).compareTo(new Float(y))</code>; in
-   * other words this compares two floats, special casing NaN and zero,
-   * without the overhead of objects.
-   *
-   * @param x the first float to compare
-   * @param y the second float to compare
+   * Behaves like <code>new Float(x).compareTo(new Float(y))</code>; in other
+   * words this compares two floats, special casing NaN and zero, without the
+   * overhead of objects.
+   * 
+   * @param x
+   *          the first float to compare
+   * @param y
+   *          the second float to compare
    * @return the comparison
    * @since 1.4
    */
-  /*public static int compare(float x, float y)
-  {
-      // handle the easy cases:
-      if (x < y)
-         return -1;
-      if (x > y)
-         return 1;
-
-      // handle equality respecting that 0.0 != -0.0 (hence not using x == y):
-      int ix = floatToRawIntBits(x);
-      int iy = floatToRawIntBits(y);
-      if (ix == iy)
-         return 0;
-
-      // handle NaNs:
-      if (x != x)
-         return (y != y) ? 0 : 1;
-      else if (y != y)
-         return -1;
-
-      // handle +/- 0.0
-      return (ix < iy) ? -1 : 1;
-  }*/
+  /*
+   * public static int compare(float x, float y) { // handle the easy cases: if
+   * (x < y) return -1; if (x > y) return 1;
+   * 
+   * // handle equality respecting that 0.0 != -0.0 (hence not using x == y):
+   * int ix = floatToRawIntBits(x); int iy = floatToRawIntBits(y); if (ix == iy)
+   * return 0;
+   * 
+   * // handle NaNs: if (x != x) return (y != y) ? 0 : 1; else if (y != y)
+   * return -1;
+   * 
+   * // handle +/- 0.0 return (ix < iy) ? -1 : 1; }
+   */
 }
index 603c505fd27683e7ebfecbfa0aa9fe1def07d59a..8c9f22d5fe8929e1ec98a3b3740f2b2fc6f57f33 100644 (file)
@@ -1,4 +1,5 @@
 package IR.Flat;
+
 import IR.*;
 import IR.Tree.*;
 
@@ -7,103 +8,200 @@ import java.io.*;
 
 import Util.*;
 
-
 public class BCXSSJavaInjectError implements BuildCodeExtension {
 
   private State state;
   private BuildCode buildCode;
-  private String nStr             = "__ssjava_inv_error_prob__";
+  private String nStr = "__ssjava_inv_error_prob__";
   private String errorInjectedStr = "__ssjava_error_has_been_injected__";
+  private String errorInjectionStarted = "__ssjava_error_injection_started__";
+  private boolean agg = false;
 
-  public BCXSSJavaInjectError( State state, BuildCode buildCode ) {
-    this.state     = state;
+  public BCXSSJavaInjectError(State state, BuildCode buildCode) {
+    this.state = state;
     this.buildCode = buildCode;
   }
 
-  public void additionalIncludesMethodsImplementation( PrintWriter outmethod ) { 
+  public void additionalIncludesMethodsImplementation(PrintWriter outmethod) {
     outmethod.println("#include <stdlib.h>");
     outmethod.println("#include <stdio.h>");
   }
 
-  // the reason for errorInjectionInit is that some code (like static initializers
-  // in the compiled program) actually run before the GENERATED MAIN runs!  Not the
-  // complied program's main, either!  So just rig it so no error injection code runs
+  // the reason for errorInjectionInit is that some code (like static
+  // initializers
+  // in the compiled program) actually run before the GENERATED MAIN runs! Not
+  // the
+  // complied program's main, either! So just rig it so no error injection code
+  // runs
   // until we're sure the random seed is initialized.
 
-  public void additionalCodeGen( PrintWriter outmethodheader,
-                                 PrintWriter outstructs,
-                                 PrintWriter outmethod ) {
-    outmethodheader.println("extern int "+nStr+";");
-    outmethodheader.println("extern int "+errorInjectedStr+";");
+  public void additionalCodeGen(PrintWriter outmethodheader, PrintWriter outstructs,
+      PrintWriter outmethod) {
+    outmethodheader.println("extern int " + nStr + ";");
+    outmethodheader.println("extern int " + errorInjectedStr + ";");
     outmethodheader.println("extern int errorInjectionInit;");
+    outmethodheader.println("extern int " + errorInjectionStarted + ";");
+    outmethodheader.println("extern int errorInjectionMax;");
 
-    outmethod.println("int "+nStr+" = "+state.SSJAVA_INV_ERROR_PROB+";");
-    outmethod.println("int "+errorInjectedStr+" = 0;");
+    outmethod.println("int " + nStr + " = " + state.SSJAVA_INV_ERROR_PROB + ";");
+    outmethod.println("int " + errorInjectedStr + " = 0;");
+    outmethod.println("int " + errorInjectionStarted + " = 0;");
+    outmethod.println("int errorInjectionMax = 1;");
     outmethod.println("int errorInjectionInit = 0;");
   }
 
-  public void additionalCodeAtTopOfMain( PrintWriter outmethod ) {
-    outmethod.println("  srand("+state.SSJAVA_ERROR_SEED+");");
+  public void additionalCodeAtTopOfMain(PrintWriter outmethod) {
+    outmethod.println("  srand(" + state.SSJAVA_ERROR_SEED + ");");
     outmethod.println("  errorInjectionInit = 1;");
   }
-  
-  public void additionalCodePostNode( FlatMethod fm, FlatNode fn, PrintWriter output ) {
+
+  public void additionalCodePreNode(FlatMethod fm, FlatNode fn, PrintWriter output) {
+  }
+
+  public void additionalCodePostNode(FlatMethod fm, FlatNode fn, PrintWriter output) {
 
     TempDescriptor injectTarget = null;
-    
-    switch( fn.kind() ) {
-      case FKind.FlatOpNode:
-        FlatOpNode fon = (FlatOpNode) fn;
-        if( fon.getOp().getOp() == Operation.DIV ) {
-          injectTarget = fon.getDest();
-        }
-        break;
-        
-      case FKind.FlatFieldNode:
-        injectTarget = ((FlatFieldNode) fn).getDst();
-        break;
-        
-      case FKind.FlatElementNode:
-        injectTarget = ((FlatElementNode) fn).getDst();
-        break;
+    FieldDescriptor injectField = null;
+
+    if ((!state.getAnnotationRequireSet().contains(fm.getMethod()))) {
+      return;
     }
 
-    if(  injectTarget != null                 && 
-         injectTarget.getType().isPrimitive() &&
-        !injectTarget.getType().isArray() 
-        ) {
-      output.println("if( errorInjectionInit ) {");
-      output.println("  int roll = rand() % "+nStr+";");
-      output.println("  if( !"+errorInjectedStr+" && roll == 0 ) {" );
-      output.println("    "+errorInjectedStr+" = 1;" );
-
-      // inject a random value
-      output.println("    "+buildCode.generateTemp( fm, injectTarget )+
-                     " = ("+injectTarget.getType().getSafeSymbol()+") rand();" );
-
-      output.println("    printf(\"SSJAVA: Injecting error at file:%s, func:%s, line:%d \\n\"" + 
-                     ", __FILE__, __func__, __LINE__);");
-      output.println("  }" );
-      output.println("}");
+    if (fm.getMethod().getClassDesc().getClassName().equals("String")) {
+      return;
     }
+
+    switch (fn.kind()) {
+    case FKind.FlatOpNode:
+      FlatOpNode fon = (FlatOpNode) fn;
+      injectTarget = fon.getDest();
+
+      int op = fon.getOp().getOp();
+      if (injectTarget.getType().isPrimitive()
+          && (op == Operation.DIV || (agg && (op == Operation.ADD || op == Operation.SUB
+              || op == Operation.MULT || op == Operation.MOD || op == Operation.LOGIC_AND
+              || op == Operation.LOGIC_OR || op == Operation.LOGIC_NOT || op == Operation.NOTEQUAL
+              || op == Operation.BIT_AND || op == Operation.BIT_OR || op == Operation.BIT_XOR/*|| op == Operation.EQUAL*/)))) {
+        // inject a random value
+        initializeInjection(output);
+        output.println("    " + buildCode.generateTemp(fm, injectTarget) + " = ("
+            + injectTarget.getType().getSafeSymbol() + ") rand();");
+        closingInjection(output);
+      }
+      break;
+
+    // case FKind.FlatFieldNode:
+    // injectTarget = ((FlatFieldNode) fn).getDst();
+    // break;
+    //
+    // case FKind.FlatElementNode:
+    // injectTarget = ((FlatElementNode) fn).getDst();
+    // break;
+
+    case FKind.FlatSetFieldNode:
+      FlatSetFieldNode fsn = (FlatSetFieldNode) fn;
+      injectTarget = fsn.getDst();
+      injectField = fsn.getField();
+
+      if (injectTarget != null && injectField != null && injectField.getType().isPrimitive()
+          && !injectTarget.getType().isArray() && !injectField.isStatic()) {
+        initializeInjection(output);
+        // inject a random value
+        output.println("    " + buildCode.generateTemp(fm, injectTarget) + "->"
+            + injectField.getSafeSymbol() + " = (" + injectField.getType().getSafeSymbol()
+            + ") rand();");
+        closingInjection(output);
+
+      }
+
+      break;
+
+    case FKind.FlatSetElementNode:
+      FlatSetElementNode fsen = (FlatSetElementNode) fn;
+      injectTarget = fsen.getDst();
+
+      if (injectTarget != null && injectTarget.getType().isPrimitive()) {
+        initializeInjection(output);
+
+        String type;
+        TypeDescriptor elementtype = fsen.getDst().getType().dereference();
+        if (elementtype.isClass() && elementtype.getClassDesc().isEnum()) {
+          type = "int ";
+        } else if (elementtype.isArray() || elementtype.isClass() || (elementtype.isNull()))
+          type = "void *";
+        else
+          type = elementtype.getSafeSymbol() + " ";
+
+        output.println("((" + type + "*)(((char *) &(" + buildCode.generateTemp(fm, injectTarget)
+            + "->___length___))+sizeof(int)))[" + buildCode.generateTemp(fm, fsen.getIndex())
+            + "] = (" + type + ") rand();");
+
+        closingInjection(output);
+      }
+      break;
+
+    }
+
   }
 
+  private void initializeInjection(PrintWriter output) {
+    output.println("if( errorInjectionInit ) {");
+    output.println("  int roll = rand() % " + nStr + ";");
+    output.println("  if( ( " + errorInjectedStr + " && " + errorInjectionStarted
+        + " < errorInjectionMax ) || (!" + errorInjectedStr + " && roll == 0) ) {");
+    output.println("    " + errorInjectedStr + " = 1;");
+    output.println("    " + errorInjectionStarted + " += 1;");
+  }
 
+  private void closingInjection(PrintWriter output) {
+    output.println("    printf(\"SSJAVA: Injecting error at file:%s, func:%s, line:%d \\n\""
+        + ", __FILE__, __func__, __LINE__);");
+    output.println("  }");
+    output.println("}");
+  }
+
+  public void printExtraArrayFields(PrintWriter outclassdefs) {
+  }
+
+  public void outputTransCode(PrintWriter output) {
+  }
 
-  public void printExtraArrayFields(PrintWriter outclassdefs){}
-  public void outputTransCode(PrintWriter output){}
-  public void buildCodeSetup(){}
-  public void generateSizeArrayExtensions(PrintWriter outclassdefs){}
-  public void preCodeGenInitialization(){}
-  public void postCodeGenCleanUp(){}
-  public void additionalIncludesMethodsHeader(PrintWriter outmethodheader){}
-  public void additionalIncludesStructsHeader(PrintWriter outstructs){}
-  public void additionalClassObjectFields(PrintWriter outclassdefs){}
-  public void additionalCodeForCommandLineArgs(PrintWriter outmethod, String argsVar){}
-  public void additionalCodeAtBottomOfMain(PrintWriter outmethod){}
-  public void additionalCodeAtTopMethodsImplementation(PrintWriter outmethod){}
-  public void additionalCodeAtTopFlatMethodBody(PrintWriter output, FlatMethod fm){}
-  public void additionalCodePreNode(FlatMethod fm, FlatNode fn, PrintWriter output){}
-  public void additionalCodeNewObject(PrintWriter outmethod, String dstVar, FlatNew flatNew){}
-  public void additionalCodeNewStringLiteral(PrintWriter output, String dstVar){}
+  public void buildCodeSetup() {
+  }
+
+  public void generateSizeArrayExtensions(PrintWriter outclassdefs) {
+  }
+
+  public void preCodeGenInitialization() {
+  }
+
+  public void postCodeGenCleanUp() {
+  }
+
+  public void additionalIncludesMethodsHeader(PrintWriter outmethodheader) {
+  }
+
+  public void additionalIncludesStructsHeader(PrintWriter outstructs) {
+  }
+
+  public void additionalClassObjectFields(PrintWriter outclassdefs) {
+  }
+
+  public void additionalCodeForCommandLineArgs(PrintWriter outmethod, String argsVar) {
+  }
+
+  public void additionalCodeAtBottomOfMain(PrintWriter outmethod) {
+  }
+
+  public void additionalCodeAtTopMethodsImplementation(PrintWriter outmethod) {
+  }
+
+  public void additionalCodeAtTopFlatMethodBody(PrintWriter output, FlatMethod fm) {
+  }
+
+  public void additionalCodeNewObject(PrintWriter outmethod, String dstVar, FlatNew flatNew) {
+  }
+
+  public void additionalCodeNewStringLiteral(PrintWriter output, String dstVar) {
+  }
 }
index a3f0a8bcd31acc0db3e9371b08adba723fb37526..67b4ff831c4ed86da0bd311d63c6899e7ce99a05 100644 (file)
@@ -153,6 +153,7 @@ public class State {
   public boolean SSJAVA_INJECT_ERROR=false;
   public int     SSJAVA_INV_ERROR_PROB=0;
   public int     SSJAVA_ERROR_SEED=0;
+  public Set<MethodDescriptor> annotationRequireSet;
 
   public boolean OPTIONAL=false;
   public boolean NOLOOP=false;
@@ -374,5 +375,13 @@ public class State {
     tasks.add(td);
     numtasks++;
   }
+  
+  public void setAnnotationRequireSet(Set<MethodDescriptor> set){
+    annotationRequireSet=set;
+  }
+  
+  public Set<MethodDescriptor> getAnnotationRequireSet(){
+    return annotationRequireSet;
+  }
 
 }