Popularity
6.1
Growing
Activity
0.0
Stable
27
3
6

Programming language: Crystal
License: MIT License
Tags: Algorithms And Data Structures    
Latest version: v0.31.1

bitfields alternatives and similar shards

Based on the "Algorithms and Data structures" category.
Alternatively, view bitfields alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of bitfields or a related project?

Add another 'Algorithms and Data structures' Shard

README

Bit Fields for Crystal-Lang

Pure Crystal implementation of Bit Fields. Handles encoding/decoding of bytes.

Installation

  1. Add the dependency to your shard.yml: yaml dependencies: bitfields: github: elorest/bitfields
  2. Run shards install

Usage

require "bitfields"

class CrossBit < BitFields
  bf rpms : UInt32, 32
  bf temp : UInt8, 4 
  bf psi : UInt16, 9 
  bf power : UInt8, 1 
  bf lights : UInt8, 2 
end

crossbit = CrossBit.new(Bytes[109, 121, 110, 97, 109, 245])
crossbit.temp          #=> 13_u8
crossbit.psi           #=> 342_u16
crossbit.power         #=> 1_u8
crossbit.lights        #=> 3_u8
crossbit.to_slice      #=> Bytes[109, 121, 110, 97, 109, 245]
crossbit.to_s          #=> |lights|power|psi|temp|rpms|
                       #=> |11|1|101010110|1101|01100001011011100111100101101101|
crossbit.power = 0     #=> 0_u8
crossbit.to_slice      #=> Bytes[109, 121, 110, 97, 109, 213]

Contributing

  1. Fork it (https://github.com/elorest/bitfields/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors