Class SerialNumber40

java.lang.Object
com.io7m.jserial.core.SerialNumber40
All Implemented Interfaces:
SerialNumberLongType

public final class SerialNumber40 extends Object implements SerialNumberLongType
An implementation of 40-bit serial number arithmetic.
  • Method Details

    • get

      public static SerialNumberLongType get()
      Returns:
      A serial number calculator
    • add

      public long add(long s0, long s1)
      Specified by:
      add in interface SerialNumberLongType
      Parameters:
      s0 - A serial number
      s1 - A serial number
      Returns:
      s0 + s1
    • bits

      public int bits()
      Specified by:
      bits in interface SerialNumberLongType
      Returns:
      The number of bits used
    • distance

      public long distance(long s0, long s1)
      Description copied from interface: SerialNumberLongType
      Calculate the signed distance between s0 and s1.
      Specified by:
      distance in interface SerialNumberLongType
      Parameters:
      s0 - A serial number
      s1 - A serial number
      Returns:
      The distance
    • compare

      public long compare(long s0, long s1)
      Description copied from interface: SerialNumberLongType
      Compare the serial numbers s0 and s1.
      Specified by:
      compare in interface SerialNumberLongType
      Parameters:
      s0 - A serial number
      s1 - A serial number
      Returns:
      0 if the serial numbers are equal, a value less than 0 if s0 < s1, or a value greater than 0 if s0 > s1
    • inRange

      public boolean inRange(long s0)
      Description copied from interface: SerialNumberLongType
      Determine serial number validity.
      Specified by:
      inRange in interface SerialNumberLongType
      Parameters:
      s0 - A serial number
      Returns:
      true iff s0 is in the range [0, (2 ^ bits()) - 1]