Crates.io | const-twiddle |
lib.rs | const-twiddle |
version | 0.1.1 |
source | src |
created_at | 2023-05-03 18:50:19.745292 |
updated_at | 2023-05-29 11:43:54.373086 |
description | Bitwise utility functions |
homepage | |
repository | https://github.com/griffi-gh/const-twiddle/ |
max_upload_size | |
id | 855728 |
size | 9,248 |
const-twiddle
is a set of bitwise utility functions designed to be similar to twiddle
.
It is also compatible with const and supports #![no_std]
out of the box.
Add const-twiddle
to your Cargo.toml file:
[dependencies]
const-twiddle = "0.1"
Usage outside of const
:
use const_twiddle::Twiddle;
fn test() {
let mut x = 5;
x.set_bit(0, false);
assert_eq!(x, 4);
assert_eq!(x.with_bit(0, true), 5);
assert_eq!(x.bit(0), false);
}
Usage inside const
contexts:
use const_twiddle::ConstU32;
const fn test() {
// Traits are not supported in const yet
let x = ConstU32(5).with_bit(0, false).0; //x = 4
}
const-twiddle
is licensed under the MIT License. See the LICENSE file for more details.