Package com.io7m.jserial.core
Class SerialNumber40
java.lang.Object
com.io7m.jserial.core.SerialNumber40
- All Implemented Interfaces:
SerialNumberLongType
An implementation of 40-bit serial number arithmetic.
-
Method Summary
Modifier and TypeMethodDescriptionlongadd(long s0, long s1) intbits()longcompare(long s0, long s1) Compare the serial numberss0ands1.longdistance(long s0, long s1) Calculate the signed distance betweens0ands1.static SerialNumberLongTypeget()booleaninRange(long s0) Determine serial number validity.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.io7m.jserial.core.SerialNumberLongType
distanceUnsigned
-
Method Details
-
get
- Returns:
- A serial number calculator
-
add
public long add(long s0, long s1) - Specified by:
addin interfaceSerialNumberLongType- Parameters:
s0- A serial numbers1- A serial number- Returns:
s0 + s1
-
bits
public int bits()- Specified by:
bitsin interfaceSerialNumberLongType- Returns:
- The number of bits used
-
distance
public long distance(long s0, long s1) Description copied from interface:SerialNumberLongTypeCalculate the signed distance betweens0ands1.- Specified by:
distancein interfaceSerialNumberLongType- Parameters:
s0- A serial numbers1- A serial number- Returns:
- The distance
-
compare
public long compare(long s0, long s1) Description copied from interface:SerialNumberLongTypeCompare the serial numberss0ands1.- Specified by:
comparein interfaceSerialNumberLongType- Parameters:
s0- A serial numbers1- A serial number- Returns:
0if the serial numbers are equal, a value less than0ifs0 < s1, or a value greater than0ifs0 > s1
-
inRange
public boolean inRange(long s0) Description copied from interface:SerialNumberLongTypeDetermine serial number validity.- Specified by:
inRangein interfaceSerialNumberLongType- Parameters:
s0- A serial number- Returns:
trueiffs0is in the range[0, (2 ^ bits()) - 1]
-