public static Offset Diff(Offset a, Offset b) { // assume a <= b int bytes = b._bytes - a._bytes; int bits = b._bits - a._bits; if (bits < 0) { bits += 8; bytes--; } return new Offset(bytes, bits); }
public static Offset Max(Offset a, Offset b) { return a.IsLessThan(b) ? b : a; }
public bool IsLessThanOrEqualTo(Offset o) { return this._bytes < o._bytes || (this._bytes == o._bytes && this._bits <= o._bits); }
public bool IsEqualTo(Offset o) { return this._bytes == o._bytes && this._bits == o._bits; }