GithubHelp home page GithubHelp logo

msvbg / fixedbitset Goto Github PK

View Code? Open in Web Editor NEW

This project forked from petgraph/fixedbitset

0.0 1.0 0.0 155 KB

A simple bitset container for Rust

Home Page: https://docs.rs/fixedbitset/

License: Apache License 2.0

Rust 100.00%

fixedbitset's Introduction

fixedbitset

A simple fixed size bitset container for Rust.

Please read the API documentation here

build_status crates

Recent Changes

  • 0.5.4
    • #112: Fix undefined behavior in IntoOnes and setup testing with MIRI by @SkiFire13
  • 0.5.3 (yanked)
    • #109: Fix non-x86(_64) builds by @james7132
  • 0.5.2 (yanked)
    • #86: Explicit SIMD vectorization for set operations by @james7132.
  • 0.5.1
    • #102: Added contains_unchecked, insert_unchecked, put_unchecked, set_unchecked, toggle_unchecked, removed_unchecked, copy_bit_unchecked unsafe variants of the safe functions, by @james7132
    • #103: Added into_ones which returns a owned iterator over the one values from a bitset, by @james7132.
    • #104: Implemented DoubleEndedIterator for Union, Intersection, Difference, and SymmetricDifference , by @james7132.
  • 0.5.0
    • #74: Accelerated set operations (union, intersection, difference, symmetric difference) by using larger blocks internally, by @james7132.
    • #88: Added FixedBitSet::remove by @james7132.
    • #89: Added FixedBitSet::zeros and the Zeros iterator by @james7132.
    • #92: Added FixedBitSet::grow_and_insert function, a non-panicking version of insert that grows the underlying storage as need, by @shuoli84.
    • #98: Ones now implements DoubleEndedIterator, by @tikhu.
    • #99: Breaking change: serde now serializes and deserializes from a little-endian encoded raw byte buffer. Existing stored instances of the serialized bitsets will need to be re-encoded.
    • Bumped MSRV to 1.56.
  • 0.4.2
    • #79: Add is_clear, clarify is_empty and len documentation by @nicopap.
  • 0.4.1
    • Documentation and formatting fixes.
  • 0.4.0
    • #61: Require Rust 1.39.
    • #60: Add const FixedBitSet::new consructor by @jakobhellermann.
    • #59: Add optional serde support by @keshavsn.
  • 0.3.2
    • #18: Optimize ones using trailing_zeroes by @vks
  • 0.3.1
    • Add bit assign operators for references by @flaghacker
    • Improve assertion error messages by @lovasoa
    • Add documentation examples for with_capacity_and_blocks
  • 0.3.0
    • Add with_capacity_and_blocks by @luizirber
    • Add difference_with by @sunshowers
    • Implement Binary and Display traits by @Dolphindalt
    • Add toggle_range by @wirelyre
  • 0.2.0
    • Add assign operators for the bit operations by @jrraymond
    • Add symmetric_difference, union_with, intersection_with by @jrraymond
    • Add is_subset, is_superset, is_disjoint by @nwn
    • Add .toggle(i) method by @ShiroUsagi-san
    • Add default feature "std" which can be disabled to make the crate not link the std library. By @jonimake and @bluss
    • Require Rust 1.31.
  • 0.1.9
    • Add intersection, union, difference iterators by @jrraymond
    • Add intersection: & and union: | operator implementations by @jrraymond
    • Add Extend and FromIterator implementations (from sequences of bit indices) by @jrraymond
  • 0.1.8
    • Add missing #[inline] on the ones iterator
    • Fix docs for insert_range, set_range
  • 0.1.7
    • Add fast methods .insert_range, .set_range by @kennytm
  • 0.1.6
    • Add iterator .ones() by @mneumann
    • Fix bug with .count_ones() where it would erronously have an out-of-bounds panic for even block endpoints
  • 0.1.5
    • Add method .count_ones(range).
  • 0.1.4
    • Remove an assertion in .copy_bit(from, to) so that it is in line with the documentation. The from bit does not need to be in bounds.
    • Improve .grow() to use Vec::resize internally.
  • 0.1.3
    • Add method .put() to enable a bit and return previous value
  • 0.1.2
    • Add method .copy_bit() (by fuine)
    • impl Default
  • 0.1.1
    • Update documentation URL
  • 0.1.0
    • Add method .grow()

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 or the MIT license, at your option. This file may not be copied, modified, or distributed except according to those terms.

fixedbitset's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.