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
andi1
-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 usingTryFrom
.
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.