[Sumover-dev] [svn commit] r4492 - vic/branches/cc/cc

sumover-dev at cs.ucl.ac.uk sumover-dev at cs.ucl.ac.uk
Fri Jul 24 15:55:58 BST 2009


Author: soohyunc
Date: Fri Jul 24 15:55:51 2009
New Revision: 4492

Modified:
   vic/branches/cc/cc/tfwc_rcvr.cpp

Log:
There was a minor bug in freeing up unnecessary bits in AckVec and it is now
fixed - had to consider the case 'currNumElm_%16 == 0' case.

Also, AckVec print method is now improved (visually).


Modified: vic/branches/cc/cc/tfwc_rcvr.cpp
==============================================================================
--- vic/branches/cc/cc/tfwc_rcvr.cpp	(original)
+++ vic/branches/cc/cc/tfwc_rcvr.cpp	Fri Jul 24 15:55:51 2009
@@ -106,8 +106,9 @@
 							SET_BIT_VEC(tfwcAV[i-1], 0);
 					}
 				}
+				int k = (currNumElm_%16 == 0) ? 16: (currNumElm_%16);
 				// freeing the rest of bits
-				for (int i = 16; i > currNumElm_%16; i--)
+				for (int i = 16; i > k; i--)
 					CLR_BIT_AT(tfwcAV[currNumVec_-1], i);
 			}
 		} 
@@ -178,17 +179,25 @@
 }
 
 void TfwcRcvr::print_ackvec(u_int16_t *ackv) {
+	// start sequence number
+	int seqno = ackofack_+1;
+
+	// printing...
 	printf("\t>> AckVec: ");
-	for (int i = 0; i < currNumVec_; i++) {
+	for (int i = 0; i < currNumVec_-1; i++) {
 		printf("[%d] ( ", ackv[i]);
-		if (i < (currNumVec_-1)) {
-			for (int j = 1; j <= 16; j++)
-				if (CHECK_BIT_AT(ackv[i], j))
-					printf("%d ", ackofack_ + j);
-		} else {
-			for (int j = 1; j <= currNumElm_%16; j++)
-				if (CHECK_BIT_AT(ackv[i], j))
-					printf("%d ", ackofack_ + currNumElm_ - j + 1);
-		} printf (") ");
-	} printf("...... %s +%d\n",__FILE__,__LINE__);
+		for (int j = 0; j < 16; j++) {
+			if ( CHECK_BIT_AT(ackv[i], (j+1)) )
+				printf("%d ", seqno);
+			seqno++;
+		}
+	} printf (") ");
+
+	int k = (currNumElm_%16 == 0) ? 16: currNumElm_%16;
+	printf("[%d] ( ", ackv[currNumVec_-1]);
+	for (int i = 0; i < k; i++) {
+		if (CHECK_BIT_AT(ackv[currNumVec_-1], (i+1) ))
+			printf("%d ", seqno);
+		seqno++;
+	} printf(")...... %s +%d\n",__FILE__,__LINE__);
 }



More information about the Sumover-dev mailing list