public static Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > MakeRandomBody() { const double maxValue = 50.0; __opComma <float, float> fst; unit unit; __opComma <Tuple <float, float>, Unit> acceleration = new __opComma <Tuple <float, float>, Unit>(); fst = new __opComma <float, float>(); unit = new unit(); fst.__arg0 = r.NextFloat(maxValue); fst.__arg1 = r.NextFloat(maxValue); acceleration.__arg0 = fst; acceleration.__arg1 = unit; __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > velocity = new __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> >(); fst = new __opComma <float, float>(); fst.__arg0 = r.NextFloat(maxValue); fst.__arg1 = r.NextFloat(maxValue); velocity.__arg0 = fst; velocity.__arg1 = acceleration; __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > position = new __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >(); fst = new __opComma <float, float>(); fst.__arg0 = r.NextFloat(maxValue); fst.__arg1 = r.NextFloat(maxValue); position.__arg0 = fst; position.__arg1 = velocity; return(position); }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuples.Tuple <int, Tuples.Tuple <int, unit> > >(); __res.Value = default(Tuples.Tuple <int, Tuples.Tuple <int, unit> >); __res.HasValue = false; switch (__ruleIndex) { case 0: { int x = default(int); Tuples.Tuple <int, unit> xs = default(Tuples.Tuple <int, unit>); x = __arg0; xs = __arg1; __opComma <int, Tuples.Tuple <int, unit> > __tmp0 = new __opComma <int, Tuples.Tuple <int, unit> >(); __tmp0.__arg0 = x; __tmp0.__arg1 = xs; __res.HasValue = true; __res.Value = __tmp0; break; } default: break; } }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <int>(); __res.Value = default(int); __res.HasValue = false; switch (__ruleIndex) { case 0: { int x = default(int); unit xs = default(unit); if (!(__arg0 is __opComma <int, unit>)) { goto default; } __opComma <int, unit> __tmp0 = (__opComma <int, unit>)__arg0; x = __tmp0.__arg0; xs = __tmp0.__arg1; __res.HasValue = true; __res.Value = x; break; } default: break; } }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuples.Tuple <int, Tuples.Tuple <int, unit> > >(); __res.Value = default(Tuples.Tuple <int, Tuples.Tuple <int, unit> >); __res.HasValue = false; switch (__ruleIndex) { case 0: { Tuples.Tuple <int, Tuples.Tuple <int, unit> > res = default(Tuples.Tuple <int, Tuples.Tuple <int, unit> >); RecordField2.cons __tmp0 = new RecordField2.cons(); __tmp0.__arg0 = 1; __opComma <int, unit> __tmp1 = new __opComma <int, unit>(); __tmp1.__arg0 = 5; __tmp1.__arg1 = new unit(); __tmp0.__arg1 = __tmp1; __tmp0.Run(); if (!(__tmp0.__res.HasValue)) { goto default; } __MetaCnvResult <Tuples.Tuple <int, Tuples.Tuple <int, unit> > > __tmp2 = __tmp0.__res; res = __tmp2.Value; __res.HasValue = true; __res.Value = res; break; } default: break; } }
static Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > makeTestBody() { __opComma <float, float> fst; unit unit; __opComma <Tuple <float, float>, Unit> acceleration = new __opComma <Tuple <float, float>, Unit>(); fst = new __opComma <float, float>(); unit = new unit(); fst.__arg0 = 0.5f; fst.__arg1 = 0.5f; acceleration.__arg0 = fst; acceleration.__arg1 = unit; __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > velocity = new __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> >(); fst = new __opComma <float, float>(); fst.__arg0 = 1f; fst.__arg1 = 1f; velocity.__arg0 = fst; velocity.__arg1 = acceleration; __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > position = new __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >(); fst = new __opComma <float, float>(); fst.__arg0 = 2f; fst.__arg1 = 3f; position.__arg0 = fst; position.__arg1 = velocity; return(position); }
static void TestTuple() { __opComma <int, string> test = new __opComma <int, string>(); test.__arg0 = 5; test.__arg1 = "Five"; fst <int, string> __tmp0 = new fst <int, string>(); __tmp0.__arg0 = test; __tmp0.Run(); snd <int, string> __tmp1 = new snd <int, string>(); __tmp1.__arg0 = test; __tmp1.Run(); if (__tmp0.__res.HasValue) { Console.WriteLine(__tmp0.__res.Value); } else { Console.WriteLine("The rule has failed its evaluation"); } if (__tmp1.__res.HasValue) { Console.WriteLine(__tmp1.__res.Value); } else { Console.WriteLine("The rule has failed its evaluation"); } }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuple <Tuple <float, float>, Unit> >(); __res.Value = default(Tuple <Tuple <float, float>, Unit>); __res.HasValue = false; switch (__ruleIndex) { case 0: { Tuple <float, float> x = __arg0; Unit xs = __arg1; __opComma <Tuple <float, float>, Unit> __tmp0 = new __opComma <Tuple <float, float>, Unit>(); __tmp0.__arg0 = x; __tmp0.__arg1 = xs; __res.HasValue = true; __res.Value = __tmp0; break; } default: break; } }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuple <float, float> >(); __res.Value = default(Tuple <float, float>); __res.HasValue = false; switch (__ruleIndex) { case 0: { Tuple <float, float> x = default(Tuple <float, float>); Unit xs = default(Unit); if (!(__arg0 is __opComma <Tuple <float, float>, Unit>)) { goto default; } __opComma <Tuple <float, float>, Unit> __tmp0 = (__opComma <Tuple <float, float>, Unit>)__arg0; x = __tmp0.__arg0; xs = __tmp0.__arg1; __res.HasValue = true; __res.Value = x; break; } default: break; } }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuple <float, float> >(); __res.Value = default(Tuple <float, float>); __res.HasValue = false; switch (__ruleIndex) { case 0: { float x = default(float); float xs = default(float); float dt = default(float); float x1 = default(float); float xs1 = default(float); if (!(__arg0 is __opComma <float, float>)) { goto default; } __opComma <float, float> __tmp0 = (__opComma <float, float>)__arg0; x = __tmp0.__arg0; xs = __tmp0.__arg1; dt = __arg1; ElementUpdater0.update __tmp1 = new ElementUpdater0.update(); __tmp1.__arg0 = x; __tmp1.__arg1 = dt; __tmp1.Run(); if (!(__tmp1.__res.HasValue)) { goto default; } __MetaCnvResult <float> __tmp2 = __tmp1.__res; x1 = __tmp2.Value; ElementUpdater0.update __tmp3 = new ElementUpdater0.update(); __tmp3.__arg0 = xs; __tmp3.__arg1 = dt; __tmp3.Run(); if (!(__tmp3.__res.HasValue)) { goto default; } __MetaCnvResult <float> __tmp4 = __tmp3.__res; xs1 = __tmp4.Value; __opComma <float, float> __tmp5 = new __opComma <float, float>(); __tmp5.__arg0 = x1; __tmp5.__arg1 = xs1; __res.HasValue = true; __res.Value = __tmp5; break; } default: break; } }
static void TestSettersAndGetters() { Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > testBody = makeTestBody(); Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > updatedBody; //get position GetField0.get getPos = new GetField0.get(); getPos.__arg0 = testBody; getPos.Run(); Tuple <float, float> p = getPos.__res.Value; //get velocity GetField3.get getVel = new GetField3.get(); getVel.__arg0 = testBody; getVel.Run(); Tuple <float, float> v = getVel.__res.Value; //get acceleration GetField5.get getAcc = new GetField5.get(); getAcc.__arg0 = testBody; getAcc.Run(); Tuple <float, float> a = getAcc.__res.Value; //set position __opComma <float, float> newPos = new __opComma <float, float>(); newPos.__arg0 = 5f; newPos.__arg1 = 2.5f; SetField0.set setPos = new SetField0.set(); setPos.__arg0 = testBody; setPos.__arg1 = newPos; setPos.Run(); updatedBody = setPos.__res.Value; //set velocity __opComma <float, float> newVel = new __opComma <float, float>(); newVel.__arg0 = 2f; newVel.__arg1 = 20f; SetField2.set setVel = new SetField2.set(); setVel.__arg0 = updatedBody; setVel.__arg1 = newVel; setVel.Run(); updatedBody = setVel.__res.Value; //set velocity __opComma <float, float> newAcc = new __opComma <float, float>(); newAcc.__arg0 = 0.1f; newAcc.__arg1 = 10f; SetField5.set setAcc = new SetField5.set(); setAcc.__arg0 = updatedBody; setAcc.__arg1 = newAcc; setAcc.Run(); updatedBody = setAcc.__res.Value; }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <int>(); __res.Value = default(int); __res.HasValue = false; switch (__ruleIndex) { case 0: { int x = default(int); Tuples.Tuple <int, Tuples.Tuple <int, unit> > xs = default(Tuples.Tuple <int, Tuples.Tuple <int, unit> >); int y = default(int); if (!(__arg0 is __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > >)) { goto default; } __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > __tmp0 = (__opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > >)__arg0; x = __tmp0.__arg0; xs = __tmp0.__arg1; Getter1.get __tmp1 = new Getter1.get(); __tmp1.__arg0 = xs; __tmp1.Run(); if (!(__tmp1.__res.HasValue)) { goto default; } __MetaCnvResult <int> __tmp2 = __tmp1.__res; y = __tmp2.Value; __res.HasValue = true; __res.Value = y; break; } default: break; } }
public static void TestRecords(int components) { Random r = new Random(); int last = r.Next(-100, 100); Tuples.Tuple <int, unit> item1 = new __opComma <int, unit>(last, new unit()); Tuples.Tuple <int, Tuples.Tuple <int, unit> > item2 = new __opComma <int, Tuples.Tuple <int, unit> >(3, item1); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > item3 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > >(0, item2); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > item4 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > >(-1, item3); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > item5 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > >(-1, item4); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > item6 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > >(0, item5); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > item7 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > >(9, item6); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > > item8 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > >(4, item7); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > > > item9 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > > >(3, item8); Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > > > > item10 = new __opComma <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, Tuples.Tuple <int, unit> > > > > > > > > >(5, item9); switch (components) { case 1: { Getter0.get getTest = new Getter0.get(); getTest.__arg0 = item1; getTest.Run(); break; } case 2: { Getter1.get getTest = new Getter1.get(); getTest.__arg0 = item2; getTest.Run(); break; } case 3: { Getter2.get getTest = new Getter2.get(); getTest.__arg0 = item3; getTest.Run(); break; } case 4: { Getter3.get getTest = new Getter3.get(); getTest.__arg0 = item4; getTest.Run(); break; } case 5: { Getter4.get getTest = new Getter4.get(); getTest.__arg0 = item5; getTest.Run(); break; } case 6: { Getter5.get getTest = new Getter5.get(); getTest.__arg0 = item6; getTest.Run(); break; } case 7: { Getter6.get getTest = new Getter6.get(); getTest.__arg0 = item7; getTest.Run(); break; } case 8: { Getter7.get getTest = new Getter7.get(); getTest.__arg0 = item8; getTest.Run(); break; } case 9: { Getter8.get getTest = new Getter8.get(); getTest.__arg0 = item9; getTest.Run(); break; } case 10: { Getter9.get getTest = new Getter9.get(); getTest.__arg0 = item10; getTest.Run(); break; } default: break; } }
static double TestWorldUpdater(int bodyCount, int iterations) { Stopwatch watch = new Stopwatch(); __opComma <List <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >, Unit> testWorld = new __opComma <List <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >, Unit>(); __opComma <List <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >, Unit> updatedWorld = new __opComma <List <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >, Unit>(); __opColonColon <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > > testBodies = (__opColonColon <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >)Test.Tester.MakeRandomBodies(bodyCount); testWorld.__arg0 = testBodies; testWorld.__arg1 = new unit(); watch.Start(); for (int i = 0; i < iterations; i++) { RecordUpdater7.update updateWorld = new RecordUpdater7.update(); updateWorld.__arg0 = testWorld; updateWorld.__arg1 = 1f; updateWorld.Run(); testWorld = (__opComma <List <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >, Unit>)updateWorld.__res.Value; } watch.Stop(); return(watch.ElapsedMilliseconds / 1000.0 / iterations); }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuple <float, float> >(); __res.Value = default(Tuple <float, float>); __res.HasValue = false; switch (__ruleIndex) { case 0: { Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > body = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >); float dt = default(float); float xv = default(float); float xv1 = default(float); float yv = default(float); float yv1 = default(float); float xa = default(float); float ya = default(float); body = __arg0; dt = __arg1; GetField3.get __tmp0 = new GetField3.get(); __tmp0.__arg0 = body; __tmp0.Run(); if (!(__tmp0.__res.HasValue)) { goto default; } __MetaCnvResult <Tuple <float, float> > __tmp1 = __tmp0.__res; Tuple <float, float> __tmp2 = __tmp1.Value; if (!(__tmp2 is __opComma <float, float>)) { goto default; } __opComma <float, float> __tmp3 = (__opComma <float, float>)__tmp2; xv = __tmp3.__arg0; yv = __tmp3.__arg1; GetField5.get __tmp4 = new GetField5.get(); __tmp4.__arg0 = body; __tmp4.Run(); if (!(__tmp4.__res.HasValue)) { goto default; } __MetaCnvResult <Tuple <float, float> > __tmp5 = __tmp4.__res; Tuple <float, float> __tmp6 = __tmp5.Value; if (!(__tmp6 is __opComma <float, float>)) { goto default; } __opComma <float, float> __tmp7 = (__opComma <float, float>)__tmp6; xa = __tmp7.__arg0; ya = __tmp7.__arg1; xv1 = xv + xa * dt; yv1 = yv + ya * dt; __opComma <float, float> __tmp8 = new __opComma <float, float>(); __tmp8.__arg0 = xv1; __tmp8.__arg1 = yv1; __res.HasValue = true; __res.Value = __tmp8; break; } default: break; } }
public void Run() { int __ruleIndex = 0; __res = new __MetaCnvResult <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >(); __res.Value = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >); __res.HasValue = false; switch (__ruleIndex) { case 0: { Tuple <float, float> x = default(Tuple <float, float>); Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > xs = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> >); Tuple <float, float> v = default(Tuple <float, float>); Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > xs1 = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> >); if (!(__arg0 is __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >)) { goto default; } __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > __tmp0 = (__opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >)__arg0; x = __tmp0.__arg0; xs = __tmp0.__arg1; v = __arg1; SetField4.set __tmp1 = new SetField4.set(); __tmp1.__arg0 = xs; __tmp1.__arg1 = v; __tmp1.Run(); if (!(__tmp1.__res.HasValue)) { goto default; } __MetaCnvResult <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > __tmp2 = __tmp1.__res; xs1 = __tmp2.Value; __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > __tmp3 = new __opComma <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >(); __tmp3.__arg0 = x; __tmp3.__arg1 = xs1; __res.HasValue = true; __res.Value = __tmp3; break; } default: break; } }