Skip to content

aditisrinivas97/Bitmap4Rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bitmap4Rust

Status Open Source Love License Build Status

A Rust library for creating and manipulating Bitmaps.

API

The bitmap is maintained in a byte vector of appropriate size. Hence, it's type should be Vec<u8>.


pub fn bitmap_create(bitmap_size: &mut u64) -> Vec<u8>

Used to create the bitmap. Since the bitmap is maintained as a byte vector, it must be of type Vec<u8>.


pub fn clear_bit(bitmap: &mut Vec<u8>, bitno: u64) -> i32

Used to clear the bit at bitno, i.e, set it to 0. If bitno is larger than the bitmap's size, -1 is returned.


pub fn set_bit(bitmap: &mut Vec<u8>, bitno: u64) -> i32

Used to set the bit at bitno, i.e, set it to 1. If bitno is larger than the bitmap's size, -1 is returned.


pub fn get_first_set_bit(bitmap: &mut Vec<u8>) -> i64

Used to get the first bit of bitmap that is set to 1. Returns -1 if none are set.


pub fn get_first_unset_bit(bitmap: &mut Vec<u8>) -> i64 

Used to get the first bit of bitmap that is set to 0. Returns -1 if all bits are set.


pub fn check_bit(bitmap: &mut Vec<u8>, bitno: u64) -> i32

Used to check the value of the bit corresponding to bitno.


Usage

  • Add the dependency bitmap4rust in Cargo.toml
[dependencies]
bitmap4rust = "1.0.1"
  • Include the crate bitmap4rust
extern crate bitmap4rust;

Releases

No releases published

Packages

No packages published

Languages