Cargo Features

[dependencies]
prio = { version = "0.16.7", default-features = false, features = ["experimental", "multithreaded", "crypto-dependencies", "wasm-compat", "test-util"] }
default = crypto-dependencies

The crypto-dependencies feature is set by default whenever prio is added without default-features = false somewhere in the dependency tree.

experimental = bitvec, fiat-crypto, fixed, num-bigint, num-integer, num-iter, num-rational

Affects types::fixedpoint_l2, flp::TypeWithNoise, prio::dp, prio3::Prio3FixedPointBoundedL2VecSum, vdaf::AggregatorWithNoise, flp::szk, prio::idpf, prio::vidpf, polynomial::poly_interpret_eval, prio3::Prio3FixedPointBoundedL2VecSumMultithreaded, xof::XofFixedKeyAes128Key, xof::XofFixedKeyAes128, xof::SeedStreamFixedKeyAes128, vdaf::mastic, vdaf::poplar1, vdaf::prio2

multithreaded = rayon

Affects gadgets::ParallelSumMultithreaded, prio3::Prio3SumVecMultithreaded, prio3::Prio3HistogramMultithreaded, prio3::Prio3FixedPointBoundedL2VecSumMultithreaded

crypto-dependencies default = aes, ctr, hmac, sha2

Affects xof::SeedStreamAes128, xof::XofHmacSha256Aes128, flp::szk, prio::idpf, prio::vidpf, polynomial::poly_interpret_eval, xof::XofFixedKeyAes128Key, xof::XofFixedKeyAes128, xof::SeedStreamFixedKeyAes128, vdaf::mastic, vdaf::poplar1, vdaf::prio2

wasm-compat

Enables js of getrandom

getrandom:

Feature to enable JavaScript bindings on wasm*-unknown-unknown

test-util = hex, serde_json, zipf

Affects flp::test_utils, idpf::test_utils, prio3_test::check_test_vec_custom_de, prio3_test::check_test_vec, vdaf::test_utils, vdaf::dummy

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

aes crypto-dependencies
bitvec experimental?
ctr crypto-dependencies
fiat-crypto experimental?
fixed experimental?
hex test-util?
hmac crypto-dependencies
num-bigint experimental?
num-integer experimental?
num-iter experimental?
num-rational experimental?
rayon multithreaded?
serde_json test-util?
sha2 crypto-dependencies
zipf test-util?