Variable result table pruning is buggy, remove for now, also adding improved tests...
[IRC.git] / Robust / src / Tests / mlp / tinyTest / test.java
index 4dd35d9941c941c779d813c151eaa53ba3c1049d..3c779968d36df04ca5184eed5927ca6775081de9 100644 (file)
@@ -1,45 +1,68 @@
-public class Foo {
-  public Foo() {}
-}
-
-
-// TODO
-// -dynamic variables
-// -objects
-
 
 public class Test {
 
-  public static void main( String args[] ) {
-    
+  public static void main( String args[] ) {        
     int x = Integer.parseInt( args[0] );
-    int y = Integer.parseInt( args[1] );
-    System.out.println( "root: x="+x+", y="+y );
+    doSomeWork( x );
+  }
 
-    if( x > 3 ) {
-      sese fi {
-       y = y + 10;
+  public static void doSomeWork( int x ) {
+    for( int i = 0; i < x; ++i ) {
+      sese calc {
+       int sum = 0;    
+       for( int j = 0; j <= i; ++j ) {
+         sum = calculateStuff( sum, 1, 0 );
+       }       
+      }           
+      sese forceVirtualReal {
+       if( i % 3 == 0 ) {
+         sum = sum + (i % 20);
+       }
+      }      
+      if( i % 2 == 0 ) {
+       sese change {
+         for( int k = 0; k < i*2; ++k ) {
+           sum = calculateStuff( sum, k, 1 );
+         }
+         sum = sum + 1;
+       }       
+       
+       for( int l = 0; l < 3; ++l ) {
+         sum = calculateStuff( sum, 2, 2 );
+       }
+      }      
+      sese prnt {
+       mightPrint( x, i, sum );
       }
     }
-    
-    // see that values from sese fi are
-    // forwarded to this sibling
-    //sese fo {
-    //System.out.println( "fo: x="+x+", y="+y );
-    System.out.println( "y="+y );
-    //}
+  }
 
-    /*
-    float xyz = 2.0f;
-    float jjj = Math.abs( xyz );
-    */
+  public static int calculateStuff( int sum, int num, int mode ) {
+    int answer = sum;
+    sese makePlaceholderStallAfter {
+      sum = sum + 1;
+    }
+    sum = sum + 1;
+    if( mode == 0 ) {
+      sese mode1 {
+       answer = sum + num;
+      }
+    } else if( mode == 1 ) {
+      sese mode2 {
+       answer = sum + (num/2);
+      }
+    } else if( mode == 2 ) {
+      sese mode3 {
+       answer = sum + (num/2);
+      }
+    }    
 
+    return answer;
+  }
 
-    // just for testing root's ability to
-    // realize a single exit after all returns
-    // DOESN'T WORK!
-    //if( false ) {
-    //  return;
-    //}
+  public static void mightPrint( int x, int i, int sum ) {
+    if( i == x - 1 ) {
+      System.out.println( "sum of integers 0-"+i+"("+x+") is "+sum );
+    }
   }
 }