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§
- i1
- The 1-bit signed integer type.
- i2
- The 2-bit signed integer type.
- i3
- The 3-bit signed integer type.
- i4
- The 4-bit signed integer type.
- i5
- The 5-bit signed integer type.
- i6
- The 6-bit signed integer type.
- i7
- The 7-bit signed integer type.
- i9
- The 9-bit signed integer type.
- i10
- The 10-bit signed integer type.
- i11
- The 11-bit signed integer type.
- i12
- The 12-bit signed integer type.
- i13
- The 13-bit signed integer type.
- i14
- The 14-bit signed integer type.
- i15
- The 15-bit signed integer type.
- i17
- The 17-bit signed integer type.
- i18
- The 18-bit signed integer type.
- i19
- The 19-bit signed integer type.
- i20
- The 20-bit signed integer type.
- i21
- The 21-bit signed integer type.
- i22
- The 22-bit signed integer type.
- i23
- The 23-bit signed integer type.
- i24
- The 24-bit signed integer type.
- i25
- The 25-bit signed integer type.
- i26
- The 26-bit signed integer type.
- i27
- The 27-bit signed integer type.
- i28
- The 28-bit signed integer type.
- i29
- The 29-bit signed integer type.
- i30
- The 30-bit signed integer type.
- i31
- The 31-bit signed integer type.
- i33
- The 33-bit signed integer type.
- i34
- The 34-bit signed integer type.
- i35
- The 35-bit signed integer type.
- i36
- The 36-bit signed integer type.
- i37
- The 37-bit signed integer type.
- i38
- The 38-bit signed integer type.
- i39
- The 39-bit signed integer type.
- i40
- The 40-bit signed integer type.
- i41
- The 41-bit signed integer type.
- i42
- The 42-bit signed integer type.
- i43
- The 43-bit signed integer type.
- i44
- The 44-bit signed integer type.
- i45
- The 45-bit signed integer type.
- i46
- The 46-bit signed integer type.
- i47
- The 47-bit signed integer type.
- i48
- The 48-bit signed integer type.
- i49
- The 49-bit signed integer type.
- i50
- The 50-bit signed integer type.
- i51
- The 51-bit signed integer type.
- i52
- The 52-bit signed integer type.
- i53
- The 53-bit signed integer type.
- i54
- The 54-bit signed integer type.
- i55
- The 55-bit signed integer type.
- i56
- The 56-bit signed integer type.
- i57
- The 57-bit signed integer type.
- i58
- The 58-bit signed integer type.
- i59
- The 59-bit signed integer type.
- i60
- The 60-bit signed integer type.
- i61
- The 61-bit signed integer type.
- i62
- The 62-bit signed integer type.
- i63
- The 63-bit signed integer type.
- i65
- The 65-bit signed integer type.
- i66
- The 66-bit signed integer type.
- i67
- The 67-bit signed integer type.
- i68
- The 68-bit signed integer type.
- i69
- The 69-bit signed integer type.
- i70
- The 70-bit signed integer type.
- i71
- The 71-bit signed integer type.
- i72
- The 72-bit signed integer type.
- i73
- The 73-bit signed integer type.
- i74
- The 74-bit signed integer type.
- i75
- The 75-bit signed integer type.
- i76
- The 76-bit signed integer type.
- i77
- The 77-bit signed integer type.
- i78
- The 78-bit signed integer type.
- i79
- The 79-bit signed integer type.
- i80
- The 80-bit signed integer type.
- i81
- The 81-bit signed integer type.
- i82
- The 82-bit signed integer type.
- i83
- The 83-bit signed integer type.
- i84
- The 84-bit signed integer type.
- i85
- The 85-bit signed integer type.
- i86
- The 86-bit signed integer type.
- i87
- The 87-bit signed integer type.
- i88
- The 88-bit signed integer type.
- i89
- The 89-bit signed integer type.
- i90
- The 90-bit signed integer type.
- i91
- The 91-bit signed integer type.
- i92
- The 92-bit signed integer type.
- i93
- The 93-bit signed integer type.
- i94
- The 94-bit signed integer type.
- i95
- The 95-bit signed integer type.
- i96
- The 96-bit signed integer type.
- i97
- The 97-bit signed integer type.
- i98
- The 98-bit signed integer type.
- i99
- The 99-bit signed integer type.
- i100
- The 100-bit signed integer type.
- i101
- The 101-bit signed integer type.
- i102
- The 102-bit signed integer type.
- i103
- The 103-bit signed integer type.
- i104
- The 104-bit signed integer type.
- i105
- The 105-bit signed integer type.
- i106
- The 106-bit signed integer type.
- i107
- The 107-bit signed integer type.
- i108
- The 108-bit signed integer type.
- i109
- The 109-bit signed integer type.
- i110
- The 110-bit signed integer type.
- i111
- The 111-bit signed integer type.
- i112
- The 112-bit signed integer type.
- i113
- The 113-bit signed integer type.
- i114
- The 114-bit signed integer type.
- i115
- The 115-bit signed integer type.
- i116
- The 116-bit signed integer type.
- i117
- The 117-bit signed integer type.
- i118
- The 118-bit signed integer type.
- i119
- The 119-bit signed integer type.
- i120
- The 120-bit signed integer type.
- i121
- The 121-bit signed integer type.
- i122
- The 122-bit signed integer type.
- i123
- The 123-bit signed integer type.
- i124
- The 124-bit signed integer type.
- i125
- The 125-bit signed integer type.
- i126
- The 126-bit signed integer type.
- i127
- The 127-bit signed integer type.
- u1
- The 1-bit unsigned integer type.
- u2
- The 2-bit unsigned integer type.
- u3
- The 3-bit unsigned integer type.
- u4
- The 4-bit unsigned integer type.
- u5
- The 5-bit unsigned integer type.
- u6
- The 6-bit unsigned integer type.
- u7
- The 7-bit unsigned integer type.
- u9
- The 9-bit unsigned integer type.
- u10
- The 10-bit unsigned integer type.
- u11
- The 11-bit unsigned integer type.
- u12
- The 12-bit unsigned integer type.
- u13
- The 13-bit unsigned integer type.
- u14
- The 14-bit unsigned integer type.
- u15
- The 15-bit unsigned integer type.
- u17
- The 17-bit unsigned integer type.
- u18
- The 18-bit unsigned integer type.
- u19
- The 19-bit unsigned integer type.
- u20
- The 20-bit unsigned integer type.
- u21
- The 21-bit unsigned integer type.
- u22
- The 22-bit unsigned integer type.
- u23
- The 23-bit unsigned integer type.
- u24
- The 24-bit unsigned integer type.
- u25
- The 25-bit unsigned integer type.
- u26
- The 26-bit unsigned integer type.
- u27
- The 27-bit unsigned integer type.
- u28
- The 28-bit unsigned integer type.
- u29
- The 29-bit unsigned integer type.
- u30
- The 30-bit unsigned integer type.
- u31
- The 31-bit unsigned integer type.
- u33
- The 33-bit unsigned integer type.
- u34
- The 34-bit unsigned integer type.
- u35
- The 35-bit unsigned integer type.
- u36
- The 36-bit unsigned integer type.
- u37
- The 37-bit unsigned integer type.
- u38
- The 38-bit unsigned integer type.
- u39
- The 39-bit unsigned integer type.
- u40
- The 40-bit unsigned integer type.
- u41
- The 41-bit unsigned integer type.
- u42
- The 42-bit unsigned integer type.
- u43
- The 43-bit unsigned integer type.
- u44
- The 44-bit unsigned integer type.
- u45
- The 45-bit unsigned integer type.
- u46
- The 46-bit unsigned integer type.
- u47
- The 47-bit unsigned integer type.
- u48
- The 48-bit unsigned integer type.
- u49
- The 49-bit unsigned integer type.
- u50
- The 50-bit unsigned integer type.
- u51
- The 51-bit unsigned integer type.
- u52
- The 52-bit unsigned integer type.
- u53
- The 53-bit unsigned integer type.
- u54
- The 54-bit unsigned integer type.
- u55
- The 55-bit unsigned integer type.
- u56
- The 56-bit unsigned integer type.
- u57
- The 57-bit unsigned integer type.
- u58
- The 58-bit unsigned integer type.
- u59
- The 59-bit unsigned integer type.
- u60
- The 60-bit unsigned integer type.
- u61
- The 61-bit unsigned integer type.
- u62
- The 62-bit unsigned integer type.
- u63
- The 63-bit unsigned integer type.
- u65
- The 65-bit unsigned integer type.
- u66
- The 66-bit unsigned integer type.
- u67
- The 67-bit unsigned integer type.
- u68
- The 68-bit unsigned integer type.
- u69
- The 69-bit unsigned integer type.
- u70
- The 70-bit unsigned integer type.
- u71
- The 71-bit unsigned integer type.
- u72
- The 72-bit unsigned integer type.
- u73
- The 73-bit unsigned integer type.
- u74
- The 74-bit unsigned integer type.
- u75
- The 75-bit unsigned integer type.
- u76
- The 76-bit unsigned integer type.
- u77
- The 77-bit unsigned integer type.
- u78
- The 78-bit unsigned integer type.
- u79
- The 79-bit unsigned integer type.
- u80
- The 80-bit unsigned integer type.
- u81
- The 81-bit unsigned integer type.
- u82
- The 82-bit unsigned integer type.
- u83
- The 83-bit unsigned integer type.
- u84
- The 84-bit unsigned integer type.
- u85
- The 85-bit unsigned integer type.
- u86
- The 86-bit unsigned integer type.
- u87
- The 87-bit unsigned integer type.
- u88
- The 88-bit unsigned integer type.
- u89
- The 89-bit unsigned integer type.
- u90
- The 90-bit unsigned integer type.
- u91
- The 91-bit unsigned integer type.
- u92
- The 92-bit unsigned integer type.
- u93
- The 93-bit unsigned integer type.
- u94
- The 94-bit unsigned integer type.
- u95
- The 95-bit unsigned integer type.
- u96
- The 96-bit unsigned integer type.
- u97
- The 97-bit unsigned integer type.
- u98
- The 98-bit unsigned integer type.
- u99
- The 99-bit unsigned integer type.
- u100
- The 100-bit unsigned integer type.
- u101
- The 101-bit unsigned integer type.
- u102
- The 102-bit unsigned integer type.
- u103
- The 103-bit unsigned integer type.
- u104
- The 104-bit unsigned integer type.
- u105
- The 105-bit unsigned integer type.
- u106
- The 106-bit unsigned integer type.
- u107
- The 107-bit unsigned integer type.
- u108
- The 108-bit unsigned integer type.
- u109
- The 109-bit unsigned integer type.
- u110
- The 110-bit unsigned integer type.
- u111
- The 111-bit unsigned integer type.
- u112
- The 112-bit unsigned integer type.
- u113
- The 113-bit unsigned integer type.
- u114
- The 114-bit unsigned integer type.
- u115
- The 115-bit unsigned integer type.
- u116
- The 116-bit unsigned integer type.
- u117
- The 117-bit unsigned integer type.
- u118
- The 118-bit unsigned integer type.
- u119
- The 119-bit unsigned integer type.
- u120
- The 120-bit unsigned integer type.
- u121
- The 121-bit unsigned integer type.
- u122
- The 122-bit unsigned integer type.
- u123
- The 123-bit unsigned integer type.
- u124
- The 124-bit unsigned integer type.
- u125
- The 125-bit unsigned integer type.
- u126
- The 126-bit unsigned integer type.
- u127
- The 127-bit unsigned integer type.