Custom-built bitwise calculator, new number types, and improved UI (#46)

This commit is contained in:
Borys Levytskyi
2023-05-10 13:59:20 +03:00
committed by GitHub
parent 38af3721fd
commit 23748831ba
38 changed files with 1099 additions and 582 deletions

View File

@@ -2,7 +2,6 @@ import { ScalarValue, ListOfNumbersExpression, BitwiseOperationExpression, Bitwi
import { ExpressionElement, Expression } from '../expression-interfaces';
import calc from '../../core/calc';
import formatter from '../../core/formatter';
import exp from 'constants';
type Config = {
emphasizeBytes: boolean;
@@ -15,7 +14,7 @@ type ExpressionRowModel = {
expression: ExpressionElement;
allowFlipBits: boolean;
label: string;
bitSize: number;
maxBitSize: number;
}
export default class BitwiseResultViewModel {
@@ -40,7 +39,7 @@ export default class BitwiseResultViewModel {
}
static buildBitwiseOperation (expr : BitwiseOperationExpression, config : Config) {
var op = expr.children[0],
i = 0, len = expr.children.length,
ex, m = new BitwiseResultViewModel(config);
@@ -88,7 +87,7 @@ export default class BitwiseResultViewModel {
expression: expr,
allowFlipBits: this.allowFlipBits,
label: '',
bitSize: expr.bitSize(),
maxBitSize: expr.value.maxBitSize,
});
};
@@ -105,7 +104,7 @@ export default class BitwiseResultViewModel {
label: this.getLabel(resultNumber),
expression: expr.operand,
allowFlipBits: this.allowFlipBits,
bitSize: resultNumber.bitSize()
maxBitSize: resultNumber.value.maxBitSize
});
};
@@ -119,7 +118,7 @@ export default class BitwiseResultViewModel {
expression: resultExpr,
allowFlipBits: false,
label: '',
bitSize: resultExpr.bitSize()
maxBitSize: resultExpr.value.maxBitSize
});
};
@@ -132,7 +131,7 @@ export default class BitwiseResultViewModel {
expression: expr,
allowFlipBits: false,
label: '',
bitSize: expr.bitSize()
maxBitSize: expr.value.maxBitSize
});
};