remove duplicate code

This commit is contained in:
REAndroid 2023-03-30 08:22:10 -04:00
parent 22d4fb9b5d
commit 4dd7eaf1ed
2 changed files with 8 additions and 19 deletions

View File

@ -151,18 +151,11 @@ public abstract class BlockItem extends Block {
protected static boolean getBit(byte[] bts, int byteOffset, int bitIndex){
return (((bts[byteOffset] & 0xff) >>bitIndex) & 0x1) == 1;
}
protected static void putBit(byte[] bts, int byteOffset, int bitIndex, boolean bit){
int val=bts[byteOffset] & 0xff;
int left=val>>bitIndex;
if(bit){
left=left|0x1;
}else {
left=left & 0xFE;
}
left=left<<bitIndex;
bitIndex=8-bitIndex;
int right=(0xFF>>bitIndex) & val;
val=left|right;
bts[byteOffset]=(byte) val;
protected static void putBit(byte[] bytes, int byteOffset, int bitIndex, boolean bit){
int mask = 1 << bitIndex;
int add = bit ? mask : 0;
mask = (~mask) & 0xff;
int value = (bytes[byteOffset] & mask) | add;
bytes[byteOffset] = (byte) value;
}
}

View File

@ -88,14 +88,10 @@ public class ByteArray extends BlockItem {
bts[index]=value;
}
public boolean getBit(int byteOffset, int bitIndex){
return ((get(byteOffset)>>bitIndex) & 0x1) == 1;
return getBit(getBytesInternal(), byteOffset, bitIndex);
}
public void putBit(int byteOffset, int bitIndex, boolean bit){
int mask = 1 << bitIndex;
int add = bit ? mask : 0;
mask = (~mask) & 0xff;
int value = (get(byteOffset) & mask) | add;
putByte(byteOffset, value);
putBit(getBytesInternal(), byteOffset, bitIndex, bit);
}
public final void putShort(int offset, int value){
putShort(offset, (short) value);