toBytes method
Fixed 8-byte encoding, straight from the hi/lo limbs — no BigInt involved at any point.
Implementation
List<int> toBytes([Endian endian = Endian.big]) {
final out = List<int>.filled(8, 0);
if (endian == Endian.big) {
out[0] = (_hi >>> 24) & 0xFF;
out[1] = (_hi >>> 16) & 0xFF;
out[2] = (_hi >>> 8) & 0xFF;
out[3] = _hi & 0xFF;
out[4] = (_lo >>> 24) & 0xFF;
out[5] = (_lo >>> 16) & 0xFF;
out[6] = (_lo >>> 8) & 0xFF;
out[7] = _lo & 0xFF;
} else {
out[0] = _lo & 0xFF;
out[1] = (_lo >>> 8) & 0xFF;
out[2] = (_lo >>> 16) & 0xFF;
out[3] = (_lo >>> 24) & 0xFF;
out[4] = _hi & 0xFF;
out[5] = (_hi >>> 8) & 0xFF;
out[6] = (_hi >>> 16) & 0xFF;
out[7] = (_hi >>> 24) & 0xFF;
}
return out;
}