griffi-gh / const-twiddle

Bitwise utility functions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

const-twiddle

Bitwise utility functions

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.

Usage

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
}

License

const-twiddle is licensed under the MIT License. See the LICENSE file for more details.

About

Bitwise utility functions

License:MIT License


Languages

Language:Rust 100.0%