[package]
name = "subroutines"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
arithmetic = { path = "../arithmetic" }
ark-bls12-381 = { version = "0.4.0", default-features = false, features = [ "curve" ] }
ark-ec = { version = "^0.4.0", default-features = false }
ark-ff = { version = "^0.4.0", default-features = false }
ark-poly = { version = "^0.4.0", default-features = false }
ark-serialize =  { version = "^0.4.0", default-features = false }
ark-std = { version = "^0.4.0", default-features = false }
derivative = { version = "2", features = ["use_core"] }
displaydoc = { version = "0.2.3", default-features = false }
itertools = { version = "0.10.4", optional = true }
rand_chacha = { version = "0.3.0", default-features = false }
rayon = { version = "1.5.2", default-features = false, optional = true }
transcript = { path = "../transcript" }
util = { path = "../util" }
# # Benchmarks
# [[bench]]
# name = "poly-iop-benches"
# path = "benches/iop_bench.rs"
# harness = false

# Benchmarks
[[bench]]
name = "pcs-benches"
path = "benches/pcs_bench.rs"
harness = false

[features]
# default = [ "parallel", "print-trace" ]
default = ["parallel"]
# extensive sanity checks that are useful for debugging
extensive_sanity_checks = [ ]
parallel = [ 
    "rayon",
    "itertools",
    "ark-std/parallel", 
    "ark-ff/parallel",  
    "ark-poly/parallel", 
    "ark-ec/parallel",
    "util/parallel",
    "arithmetic/parallel",
    ]
print-trace = [ 
    "arithmetic/print-trace",
    "ark-std/print-trace",
    ] 
