nsw-types

Crates.ionsw-types
lib.rsnsw-types
version0.1.8
sourcesrc
created_at2024-07-07 22:54:36.038268
updated_at2024-09-04 06:32:50.412482
descriptionImplement the following non standard integers: u2, u3, u4, u5, u6, u7, u9, u10, u11, u12, u13, u14, u15, u17, u18, u19, u20, u21, u22, u23, u24, u25, u26, u27, u28, u29, u30, u31, u33, u34, u35, u36, u37, u38, u39, u40, u41, u42, u43, u44, u45, u46, u47, u48, u49, u50, u51, u52, u53, u54, u55, u56, u57, u58, u59, u60, u61, u62, u63, i2, i3, i4, i5, i6, i7, i9, i10, i11, i12, i13, i14, i15, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i33, i34, i35, i36, i37, i38, i39, i40, i41, i42, i43, i44, i45, i46, i47, i48, i49, i50, i51, i52, i53, i54, i55, i56, i57, i58, i59, i60, i61, i62, i63
homepage
repositoryhttps://github.com/bbaldino/nsw-types.git
max_upload_size
id1295189
size124,099
(bbaldino)

documentation

README

nsw-types

Non standard integer types like u7, u9, u10, u63, i7, i9 etc

NOTE: This repo is a fork of the uX crate, which has fallen into an unmaintained state.

When non-standard-width integers are required in an application, the norm is to use a larger container and make sure the value is within range after manipulation. nsw-types 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 methods are 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 lossless infallible conversions are possible by using From.
  • All lossless fallible conversions are possible by using TryFrom.

The types take up as much space as the smallest integer type that can contain them.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 102

cargo fmt