[package] name = "gf256" description = "A Rust library containing Galois-field types and utilities" authors = ["Christopher Haster "] repository = "https://github.com/geky/gf256" version = "0.3.0" edition = "2021" license = "BSD-3-Clause" [features] # Disable carry-less multiplication instructions, forcing the use # of naive bitwise implementations # # This is mostly available for testing/benchmarking purposes # no-xmul = ["gf256-macros/no-xmul"] # Disable lookup tables, relying only on hardware instructions or # naive implementations # # This may be useful on memory constrained devices # no-tables = ["gf256-macros/no-tables"] # Limits lookup tables to "small tables", tables with <16 elements # # This provides a compromise between full 256-byte tables and no-tables, # which may be useful on memory constrained devices # small-tables = ["gf256-macros/small-tables"] # Enable features that depend on ThreadRng # # This is used to provide a default Rng implementation for Shamir's # secret-sharing implementations # # Note this requires std # thread-rng = ["rand/std", "rand/std_rng"] # Make LFSR macros and structs available lfsr = ["gf256-macros/lfsr", "rand"] # Make CRC macros and functions available crc = ["gf256-macros/crc"] # Make Shamir secret-sharing macros and functions available # # Note this requires alloc and rand # # You may also want to enable the thread-rng feature, which is required for # a default rng # shamir = ["gf256-macros/shamir", "rand"] # Make RAID-parity macros and functions available raid = ["gf256-macros/raid"] # Note this requires alloc # # Make Reed-Solomon macros and functions available # rs = ["gf256-macros/rs"] [dev-dependencies] criterion = {version="0.3", features=["html_reports"]} rand = "0.8.3" rand_core = "0.6.3" structopt = "0.3.25" flate2 = "1.0.22" [dependencies] gf256-macros = {path="gf256-macros", version="=0.3.0"} cfg-if = "1.0.0" rand = {version="0.8.3", default-features=false, optional=true} [[bench]] name = "xmul" harness = false [[bench]] name = "gf" harness = false [[bench]] name = "find-p" harness = false [[bench]] name = "lfsr" harness = false [[bench]] name = "crc" harness = false [[bench]] name = "shamir" harness = false [[bench]] name = "raid" harness = false [[bench]] name = "rs" harness = false [package.metadata.docs.rs] features = ["thread-rng", "lfsr", "crc", "raid", "rs", "shamir"]