Unsigned operators and boxed types (U8
, U16
, U32
and U64
) for unsigned support.
To have a quick idea what this library offers, take a look at the tests
- this project uses classes instead inline classes. To address this in critical scenarios where allocations may have a sensitive impact, primitive variable holding the unsigned
type value is a
var
, so you can re-use the same instance over and over again - unsigned types extend
Number
abstract class - automatic conversions
- it is possible to get a string representation with a specific format by calling the corresponding
toString(format: String)
method, eg:ubyte.format("%08x")
- all the unsigned types implement all the function, including
shl
andshr
forUbyte
andUshort
- there is no automatic padding to integer for unsigned bytes and shorts, so if you add an
Ushort
to anotherUshort
you get anUshort
(and not anUint
)
repositories {
maven("https://raw.githubusercontent.com/kotlin-graphics/mary/master")
// or with magik plugin
//github("kotlin-graphics/mary")
}
dependencies {
implementation("kotlin.graphics:unsigned:3.3.32")
}
dependencies {
implementation("io.github.kotlin-graphics:kotlin-unsigned:3.3.32")
}
You can find more info by mary
Don't hesitate to contribute to the project by submitting issues or pull requests for bugs and features. Any feedback is welcome at [email protected].
- inspired by jOOU