This is an implementation of unsigned integers for Scala.
This is still very much a work in progress.
Much of it was written a while ago as an exercise in learning Scala.
The library provides:
- UInt
- ULong
- UByte
- UShort
The classes are implemented by boxing Int, Long, Byte, Short, respectively.
Add the following to your sbt build file:
libraryDependencies += "io.github.memo33" %% "scala-unsigned" % "0.2.0"
To use:
scala> import io.github.memo33.passera.unsigned._
scala> (-1).toUInt
res0: passera.unsigned.UInt = 4294967295
scala> res0 + 1
res1: Int = 0
The code was written by Nate Nystrom ([email protected]).
Add support for value classes.
Refactor code to remove redundant ULong code.
More tests.