prln("Begin sendData");
adjustIndent(2);
- prln("ILC=1");
- marina.instrIn.fill(
- new Instruction.Set(dock,Predicate.IgnoreFlagD,SetDest.InnerLoopCounter, 1));
-
//getCtrsFlags(marina);
-
+
+ edu.berkeley.fleet.api.BitVector bv = new edu.berkeley.fleet.api.BitVector(13);
+ for(int i=0; i<bv.length(); i+=2) bv.set(i, false);
+ MarinaPath path = new MarinaPath((MarinaFleet)dock.getShip().getFleet(), bv);
+
prln("send data");
marina.instrIn.fill(
new Instruction.Move(dock,
Predicate.IgnoreFlagD, /* predicate */
false, /* torpedoable */
- null, /* path */
+ path, /* path */
false, /* tokenIn */
false, /* dataIn */
false, /* latchData */
List<BitVector> dataItems = marina.data.drainMany();
fatal(dataItems.size()!=1, "Expected one data item to emerge but got: "+dataItems.size()+" data items");
-
- prln("Datum="+new MarinaPacket(dataItems.get(0)));
+
+ MarinaPacket mp = new MarinaPacket(dataItems.get(0));
+ prln("packet: "+mp);
+ fatal(mp.tokenhood, "Expected tokenhood=data, but got tokenhood=token");
adjustIndent(-2);
prln("End sendData");
List<BitVector> dataItems = marina.data.drainMany(3);
fatal(dataItems.size()!=1, "expected exactly one data item, got " + dataItems.size());
- BitVector bv = dataItems.get(0);
- MarinaPacket mp = new MarinaPacket(bv);
+ MarinaPacket mp = new MarinaPacket(dataItems.get(0));
+ BitVector bv = mp.data;
prln("got back " + mp);
boolean mismatch = false;
case 3011: recvData(marina); break;
case 3012: testFlagC(marina); break;
case 3013: testSignExtendedLiteral(marina); break;
- case 3014: testShiftedLiteral(marina); break;
+ case 3014: testShiftedLiteral(marina); break; // fails, 09-Apr
case 3015: testSendAndRecvToken(marina); break;
case 3016: sendDataIlcInfinite(marina); break;
case 3017: testFlagTruthTable(marina); break;
- case 3018: sendDataWithPath(marina); break; // this should pass once Ivan swaps take[dp] and take[ps]
+ case 3018: sendDataWithPath(marina); break; // passes, 13-Apr
case 3019: setOlcFromDataLatch(marina); break;
case 3020: setIlcFromDataLatch(marina); break;
case 3021: recvPath(marina); break;