• Stars
    star
    74
  • Rank 413,536 (Top 9 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created over 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

unsigned support for Kotlin via boxed types and unsigned operators

kotlin-unsigned

Build Status license Size Github All Releases

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

Differences with kotlin stdlib:

  • 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 and shr for Ubyte and Ushort
  • there is no automatic padding to integer for unsigned bytes and shorts, so if you add an Ushort to another Ushort you get an Ushort (and not an Uint)

Install:

mary

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")
}

maven central

dependencies {
    implementation("io.github.kotlin-graphics:kotlin-unsigned:3.3.32")
}

You can find more info by mary

Contributions:

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].

Credits:

Deploys by Netlify