wr method
int
wr(
- dynamic a,
- dynamic b
)
Implementation
int wr(dynamic a, dynamic b) {
try {
final bStr = b.toString();
var current = a as int;
for (var c = 0; c < bStr.length - 2; c += 3) {
var d = bStr[c + 2];
final int dVal = 'a'.codeUnitAt(0) <= d.codeUnitAt(0)
? d.codeUnitAt(0) - 87
: int.parse(d);
final int shifted = '+' == bStr[c + 1]
? unsignedRightShift(current, dVal)
: current << dVal;
current = '+' == bStr[c]
? (current + shifted & 4294967295)
: current ^ shifted;
}
return current;
} on Error {
rethrow;
}
}