🍺 BREW Explorer

← all formulae

crcany

brew install crcany v2.1 Zlib

Compute any CRC, a bit at a time, a byte at a time, and a word at a time

7
30-day installs · #9601
10
90-day · #12116
36
365-day · #12045
338
★ GitHub stars · updated 1y ago

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Compute any CRC, a bit at a time, a byte at a time, and a word at a time",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:41+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "crcany",
  "github_default_branch": "master",
  "github_last_commit_at": "2025-02-03T05:45:48Z",
  "github_readme_excerpt": "Synopsis\n--------\n\n_crcany_ is a suite of programs that generalize CRC calculations, and that\ngenerate C code to compute and combine CRCs efficiently. Any CRC can be\ncomputed given the set of parameters that describe it. Those parameters are\nprovided in the form as used by Greg Cook\u0027s catalog of over one-hundred CRCs,\nfound at https://reveng.sourceforge.io/crc-catalogue/all.htm . That set of\nparameters were first defined by Ross Williams in his excellent tutorial on\nCRCs, which can be found at http://zlib.net/crc_v3.txt .\n\n_crcany_ can compute a CRC in three different ways. First, computing a bit at a\ntime, as would be done in a hardware shift-register implementation. Second,\ncomputing the CRC a byte at a time, first using the bit-at-a-time algorithm to\ncreate a table of the 256 CRCs of all byte values. Third, using the byte-wise\ntable to generate another _n-1_ tables, where _n_ is the number of bytes in the\nword, to enable computing a CRC a word at a time. The word-wise approach has\ntwo flavors, one for little-endian machines, and one for big-endian machines.\n\n_crcany_ can combine CRCs efficiently. Given only the CRCs of two sequences of\nbytes, and the length of the second sequence, the CRC of the two sequences\nconcatenated can be computed efficiently.\n\n_crcany_ can generate C code in .c and .h files for one or a series of CRC\ndefinitions. By default, code is generated for the machine being run on (i.e.\nwith respect to the lengths of the integer types and their endianess). Code can\noptionally be generated for 32-bit or 64-bit words, and for big-endian or\nlittle-endian. Code can be generated for any CRC whose width is less than or\nequal to the maximum integer size.\n\nThe bit-wise calculation can be done on CRCs up to twice the word length, e.g.\n128 bits on machines with 64-bit integers. The byte and word-wise calculations\ncan be done on CRCs up to the word size, e.g. up to 64-bit CRCs using 64-bit\nintegers. CRC code can be generated for CRCs up to 64 bits in length.\n",
  "github_repo": "madler/crcany",
  "github_stars": 338,
  "github_topics": [],
  "homepage": "https://github.com/madler/crcany",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 7,
  "installs_365d": 36,
  "installs_90d": 10,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "Zlib",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "crcany",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 9601,
  "rank_365d": 12045,
  "rank_90d": 12116,
  "raw_hash": "c8e57644b2ba7be5",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/c/crcany.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "2.1",
  "versioned_formulae": [],
  "why_use_this": null
}