toBytes method

List<int> toBytes([
  1. Endian endian = Endian.big
])

Fixed 32-byte encoding, delegating to each Uint64 limb's own (already web-safe) 8-byte encoding.

Implementation

List<int> toBytes([Endian endian = Endian.big]) {
  final out = List<int>.filled(32, 0);
  if (endian == Endian.big) {
    out.setRange(0, 8, _d3.toBytes(Endian.big));
    out.setRange(8, 16, _d2.toBytes(Endian.big));
    out.setRange(16, 24, _d1.toBytes(Endian.big));
    out.setRange(24, 32, _d0.toBytes(Endian.big));
  } else {
    out.setRange(0, 8, _d0.toBytes(Endian.little));
    out.setRange(8, 16, _d1.toBytes(Endian.little));
    out.setRange(16, 24, _d2.toBytes(Endian.little));
    out.setRange(24, 32, _d3.toBytes(Endian.little));
  }
  return out;
}