Popularity
5.9
Declining
Activity
1.3
Growing
25
2
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.
-
crystalline
A collection of containers & algorithms for the Crystal programming language -
graphlb
graphlb is a crystal library which contains all the graph Data-Structures and Algorithms implemented in crystal-lang. -
markov
⛓ A Crystal library for building Markov Chains and running Markov Processes. -
text
A collection of phonetic algorithms for Crystal. Including; Porter-Stemmer, Soundex, Metaphone, Double Metaphone & White Similarity -
crystal-linked-list
Simple linked list implementation in Crystal -
kd_tree
Crystal implementation of "K-Dimensional Tree" and "N-Nearest Neighbors" -
haversine
Crystal implementation of the Haversine formula to calculate distances between two points given their latitudes and longitudes -
edits.cr
Edit distance algorithms inc. Jaro, Damerau-Levenshtein, and Optimal Alignment -
delimiter_tree
A crystal-lang tree structure that is built using a delimiter. -
murmur3
Crystal implementation of Murmur3 hash algorithm used by Cassandra -
ternary_search_tree
A Crystal implementation of a Ternary Search Tree -
splay_tree_map
This is a Crystal implementation of a Splay Tree; which is a type of binary search tree that is semi-balanced and that tends to self-optimize so that the most accessed items are the fastest to retrieve. -
s2_cells
maps latitude and longitude to S2 Cells https://s2geometry.io/
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Promo
www.sonarqube.org
Do you think we are missing an alternative of bitfields or a related project?
README
Bit Fields for Crystal-Lang
Pure Crystal implementation of Bit Fields. Handles encoding/decoding of bytes.
Installation
- Add the dependency to your
shard.yml
:yaml dependencies: bitfields: github: elorest/bitfields
- 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
- Fork it (https://github.com/elorest/bitfields/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Isaac Sloan - creator and maintainer