Crate ux

source ·
Expand description

§uX - non-standard-width integers types

When non-standard-width integers is required in an applications, the norm is to use a larger container and make sure the value is within range after manipulation. uX aims to take care of this once and for all by:

  • Providing u1-u127 and i1-i127 types that should behave as similar as possible to the built in rust types
    • The methods of the defined types are the same as for the built in types (far from all is implemented at this point but fill out an issue or create a PR if something essential for you is missing)
    • Overflow will panic in debug and wrap in release.
  • All possible infallible conversions is possible by using From and all fallible conversion by using TryFrom.

The uX types take up as much space as the smallest integer type that can contain them; the compiler can not yet be made aware of further optimization potential, and thus does not use it: an Option<u7> still takes up two bytes.

Structs§

  • The 1-bit signed integer type.
  • The 2-bit signed integer type.
  • The 3-bit signed integer type.
  • The 4-bit signed integer type.
  • The 5-bit signed integer type.
  • The 6-bit signed integer type.
  • The 7-bit signed integer type.
  • The 9-bit signed integer type.
  • The 10-bit signed integer type.
  • The 11-bit signed integer type.
  • The 12-bit signed integer type.
  • The 13-bit signed integer type.
  • The 14-bit signed integer type.
  • The 15-bit signed integer type.
  • The 17-bit signed integer type.
  • The 18-bit signed integer type.
  • The 19-bit signed integer type.
  • The 20-bit signed integer type.
  • The 21-bit signed integer type.
  • The 22-bit signed integer type.
  • The 23-bit signed integer type.
  • The 24-bit signed integer type.
  • The 25-bit signed integer type.
  • The 26-bit signed integer type.
  • The 27-bit signed integer type.
  • The 28-bit signed integer type.
  • The 29-bit signed integer type.
  • The 30-bit signed integer type.
  • The 31-bit signed integer type.
  • The 33-bit signed integer type.
  • The 34-bit signed integer type.
  • The 35-bit signed integer type.
  • The 36-bit signed integer type.
  • The 37-bit signed integer type.
  • The 38-bit signed integer type.
  • The 39-bit signed integer type.
  • The 40-bit signed integer type.
  • The 41-bit signed integer type.
  • The 42-bit signed integer type.
  • The 43-bit signed integer type.
  • The 44-bit signed integer type.
  • The 45-bit signed integer type.
  • The 46-bit signed integer type.
  • The 47-bit signed integer type.
  • The 48-bit signed integer type.
  • The 49-bit signed integer type.
  • The 50-bit signed integer type.
  • The 51-bit signed integer type.
  • The 52-bit signed integer type.
  • The 53-bit signed integer type.
  • The 54-bit signed integer type.
  • The 55-bit signed integer type.
  • The 56-bit signed integer type.
  • The 57-bit signed integer type.
  • The 58-bit signed integer type.
  • The 59-bit signed integer type.
  • The 60-bit signed integer type.
  • The 61-bit signed integer type.
  • The 62-bit signed integer type.
  • The 63-bit signed integer type.
  • The 65-bit signed integer type.
  • The 66-bit signed integer type.
  • The 67-bit signed integer type.
  • The 68-bit signed integer type.
  • The 69-bit signed integer type.
  • The 70-bit signed integer type.
  • The 71-bit signed integer type.
  • The 72-bit signed integer type.
  • The 73-bit signed integer type.
  • The 74-bit signed integer type.
  • The 75-bit signed integer type.
  • The 76-bit signed integer type.
  • The 77-bit signed integer type.
  • The 78-bit signed integer type.
  • The 79-bit signed integer type.
  • The 80-bit signed integer type.
  • The 81-bit signed integer type.
  • The 82-bit signed integer type.
  • The 83-bit signed integer type.
  • The 84-bit signed integer type.
  • The 85-bit signed integer type.
  • The 86-bit signed integer type.
  • The 87-bit signed integer type.
  • The 88-bit signed integer type.
  • The 89-bit signed integer type.
  • The 90-bit signed integer type.
  • The 91-bit signed integer type.
  • The 92-bit signed integer type.
  • The 93-bit signed integer type.
  • The 94-bit signed integer type.
  • The 95-bit signed integer type.
  • The 96-bit signed integer type.
  • The 97-bit signed integer type.
  • The 98-bit signed integer type.
  • The 99-bit signed integer type.
  • The 100-bit signed integer type.
  • The 101-bit signed integer type.
  • The 102-bit signed integer type.
  • The 103-bit signed integer type.
  • The 104-bit signed integer type.
  • The 105-bit signed integer type.
  • The 106-bit signed integer type.
  • The 107-bit signed integer type.
  • The 108-bit signed integer type.
  • The 109-bit signed integer type.
  • The 110-bit signed integer type.
  • The 111-bit signed integer type.
  • The 112-bit signed integer type.
  • The 113-bit signed integer type.
  • The 114-bit signed integer type.
  • The 115-bit signed integer type.
  • The 116-bit signed integer type.
  • The 117-bit signed integer type.
  • The 118-bit signed integer type.
  • The 119-bit signed integer type.
  • The 120-bit signed integer type.
  • The 121-bit signed integer type.
  • The 122-bit signed integer type.
  • The 123-bit signed integer type.
  • The 124-bit signed integer type.
  • The 125-bit signed integer type.
  • The 126-bit signed integer type.
  • The 127-bit signed integer type.
  • The 1-bit unsigned integer type.
  • The 2-bit unsigned integer type.
  • The 3-bit unsigned integer type.
  • The 4-bit unsigned integer type.
  • The 5-bit unsigned integer type.
  • The 6-bit unsigned integer type.
  • The 7-bit unsigned integer type.
  • The 9-bit unsigned integer type.
  • The 10-bit unsigned integer type.
  • The 11-bit unsigned integer type.
  • The 12-bit unsigned integer type.
  • The 13-bit unsigned integer type.
  • The 14-bit unsigned integer type.
  • The 15-bit unsigned integer type.
  • The 17-bit unsigned integer type.
  • The 18-bit unsigned integer type.
  • The 19-bit unsigned integer type.
  • The 20-bit unsigned integer type.
  • The 21-bit unsigned integer type.
  • The 22-bit unsigned integer type.
  • The 23-bit unsigned integer type.
  • The 24-bit unsigned integer type.
  • The 25-bit unsigned integer type.
  • The 26-bit unsigned integer type.
  • The 27-bit unsigned integer type.
  • The 28-bit unsigned integer type.
  • The 29-bit unsigned integer type.
  • The 30-bit unsigned integer type.
  • The 31-bit unsigned integer type.
  • The 33-bit unsigned integer type.
  • The 34-bit unsigned integer type.
  • The 35-bit unsigned integer type.
  • The 36-bit unsigned integer type.
  • The 37-bit unsigned integer type.
  • The 38-bit unsigned integer type.
  • The 39-bit unsigned integer type.
  • The 40-bit unsigned integer type.
  • The 41-bit unsigned integer type.
  • The 42-bit unsigned integer type.
  • The 43-bit unsigned integer type.
  • The 44-bit unsigned integer type.
  • The 45-bit unsigned integer type.
  • The 46-bit unsigned integer type.
  • The 47-bit unsigned integer type.
  • The 48-bit unsigned integer type.
  • The 49-bit unsigned integer type.
  • The 50-bit unsigned integer type.
  • The 51-bit unsigned integer type.
  • The 52-bit unsigned integer type.
  • The 53-bit unsigned integer type.
  • The 54-bit unsigned integer type.
  • The 55-bit unsigned integer type.
  • The 56-bit unsigned integer type.
  • The 57-bit unsigned integer type.
  • The 58-bit unsigned integer type.
  • The 59-bit unsigned integer type.
  • The 60-bit unsigned integer type.
  • The 61-bit unsigned integer type.
  • The 62-bit unsigned integer type.
  • The 63-bit unsigned integer type.
  • The 65-bit unsigned integer type.
  • The 66-bit unsigned integer type.
  • The 67-bit unsigned integer type.
  • The 68-bit unsigned integer type.
  • The 69-bit unsigned integer type.
  • The 70-bit unsigned integer type.
  • The 71-bit unsigned integer type.
  • The 72-bit unsigned integer type.
  • The 73-bit unsigned integer type.
  • The 74-bit unsigned integer type.
  • The 75-bit unsigned integer type.
  • The 76-bit unsigned integer type.
  • The 77-bit unsigned integer type.
  • The 78-bit unsigned integer type.
  • The 79-bit unsigned integer type.
  • The 80-bit unsigned integer type.
  • The 81-bit unsigned integer type.
  • The 82-bit unsigned integer type.
  • The 83-bit unsigned integer type.
  • The 84-bit unsigned integer type.
  • The 85-bit unsigned integer type.
  • The 86-bit unsigned integer type.
  • The 87-bit unsigned integer type.
  • The 88-bit unsigned integer type.
  • The 89-bit unsigned integer type.
  • The 90-bit unsigned integer type.
  • The 91-bit unsigned integer type.
  • The 92-bit unsigned integer type.
  • The 93-bit unsigned integer type.
  • The 94-bit unsigned integer type.
  • The 95-bit unsigned integer type.
  • The 96-bit unsigned integer type.
  • The 97-bit unsigned integer type.
  • The 98-bit unsigned integer type.
  • The 99-bit unsigned integer type.
  • The 100-bit unsigned integer type.
  • The 101-bit unsigned integer type.
  • The 102-bit unsigned integer type.
  • The 103-bit unsigned integer type.
  • The 104-bit unsigned integer type.
  • The 105-bit unsigned integer type.
  • The 106-bit unsigned integer type.
  • The 107-bit unsigned integer type.
  • The 108-bit unsigned integer type.
  • The 109-bit unsigned integer type.
  • The 110-bit unsigned integer type.
  • The 111-bit unsigned integer type.
  • The 112-bit unsigned integer type.
  • The 113-bit unsigned integer type.
  • The 114-bit unsigned integer type.
  • The 115-bit unsigned integer type.
  • The 116-bit unsigned integer type.
  • The 117-bit unsigned integer type.
  • The 118-bit unsigned integer type.
  • The 119-bit unsigned integer type.
  • The 120-bit unsigned integer type.
  • The 121-bit unsigned integer type.
  • The 122-bit unsigned integer type.
  • The 123-bit unsigned integer type.
  • The 124-bit unsigned integer type.
  • The 125-bit unsigned integer type.
  • The 126-bit unsigned integer type.
  • The 127-bit unsigned integer type.