//LINHARES START void hl_write_linhares(hardlocation* hl, bitstring* data) { int i, a; for(i=0; i<bs_dimension; i++) { //writing only the difference may give us more space a = bs_bitsign(hl->address,i)^bs_bitsign(data, i); if (a > 0) { if (hl->adder[i] < 127) hl->adder[i]++; else printf("@@ WARNING WARNING!\n"); } } hl->num_items++; }
void hl_write(hardlocation* hl, bitstring* data) { int i, a; for(i=0; i<bs_dimension; i++) { a = bs_bitsign(data, i); if (a > 0) { if (hl->adder[i] < 127) hl->adder[i]++; else printf("@@ WARNING adder[%d] overflow!\n", i); } else if (a < 0) { if (hl->adder[i] > -127) hl->adder[i]--; else printf("@@ WARNING adder[%d] overflow!\n", i); } } }
void hl_write(adder_t* adder, bitstring* data) { int i, a; for(i=0; i<bs_dimension; i++) { a = bs_bitsign(data, i); if (a > 0) { if (adder[i] < 127) adder[i]++; else printf("@@ WARNING WARNING!\n"); } else if (a < 0) { if (adder[i] > -127) adder[i]--; else printf("@@ WARNING WARNING!\n"); } } }