[workspace] members = [".", "fcrc-calc"] [package] name = "fcrc" version = "0.1.0" edition = "2018" description = "Fast-CRC is a generic CRC implementation using SIMD instructions when available and a fallback when not." authors = ["Nick Fagan "] license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/nicholasfagan/fcrc.git" keywords = ["crc", "crc16", "crc32", "checksum", "hash"] categories = ["algorithms", "no-std"] # resolve features of regular build and test separately resolver = "2" # Re-generate models build = "build/generate_models.rs" [lib] name = "fcrc" # Uncomment to allow building C libraries as well crate-type = ["lib", "staticlib", "cdylib"] [build-dependencies] regex = { optional = true, version = "1.5.4" } reqwest = { optional = true, version = "0.11.6", features = ["blocking"] } [dependencies] crc-catalog = { version = "2.0.1", optional = true } [features] default = ["std"] # Std allows for runtime cpu feature detection, # and allows for some more generic types because of boxing. std = [] # Create C API c_api = ["std"] # For re-generating list of models from a build script. # Add a lot to the crates compile time, # and will over-write the src/generated_models.rs source code. Be careful! generate-models = ["regex", "reqwest"] [dev-dependencies] # Tests use crc-catalog for conversions and comparisons against extern crate crc. # This wierd self dependieny is the reason to use resolver = "2". fcrc = { path = ".", features = ["std", "crc-catalog"] } fastrand = "1.5.0" lazy_static = "1.4.0" # criterion is used to benchmark different algorithms. criterion = { version = "0.3.5", features = [ "html_reports" ] } # Benchmarks are run against crc and crc32fast crc = "2.1.0" crc32fast = "1.2.1" quickcheck = "1.0.3" [[bench]] name = "compare_crc" harness = false