no more bit fiddling (and introducing bilge)

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • sparrow

  • We wrote an extensive library for bit packing a few years ago. I never managed to release it to crates, but we do use it heavily internally (and it's super well tested and reasonably well documented). It has a slightly different perspective, making extensive use of typenum: This is a single bitfield implementation: https://gitlab.com/SmartAcoustics/sparrow/-/blob/master/sparrow-bitpacker/src/bitfields.rs with more extensive usage here: https://gitlab.com/SmartAcoustics/sparrow/-/blob/0932659068ea1bafeceb66b9b70a0abde89937d0/sparrow-registers/examples/register_map.rs

  • arocc

    A C compiler written in Zig.

  • Possible reference as it requires to use the compiler as part of language abi: https://github.com/Vexu/arocc/issues/178 Not sure, where a better thread with explanations of the flaws is.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • bitfield-struct-rs

    Procedural macro for bitfields.

  • Love the syntax, it's super clean! I've been a big fan of https://github.com/wrenger/bitfield-struct-rs, but this library might give it a run for it's money.

  • bilge

    Use bitsized types as if they were a feature of rust. (by hecatia-elegua)

  • I opened an issue on this here.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts