[package]
name = "overflowing_int"
version = "0.1.1"
description = "A wrapper around num-bigint that provides a small integer optimization."
authors = [
  "John Williams <jrw@pobox.com>",
]
repository = "https://github.com/johnw42/overflowing_int"
license = "MIT OR Apache-2.0"
rust-version = "1.95"
edition = "2024"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = [
  "arbitrary",
  "quickcheck",
  "rand",
  "serde",
]
arbitrary = [
  "dep:arbitrary",
  "num-bigint/arbitrary",
]
quickcheck = [
  "dep:quickcheck",
  "num-bigint/quickcheck",
]
rand = [
  "dep:rand",
  "num-bigint/rand",
]
serde = [
  "dep:serde",
  "num-bigint/serde",
]


[dependencies]
num-bigint = "^0.4.6"
duplicate = "^2.0.1"
paste = "^1.0.5"
quickcheck_macros = "1.2.0"
test_suite_macro = "^0.1.0"

[dependencies.num-integer]
version = "^0.1.46"
default-features = false
features = [
  "i128",
]

[dependencies.num-traits]
version = "^0.2.18"
default-features = false
features = [
  "i128",
]

[dependencies.rand]
optional = true
version = "^0.8"
default-features = false

[dependencies.serde]
optional = true
version = "^1.0"
default-features = false

[dependencies.quickcheck]
optional = true
version = "^1"

[dependencies.arbitrary]
optional = true
version = "^1"
default-features = false

[dev-dependencies]
arbitrary = "^1"
criterion = { version = "^0.8.2", features = [
  "html_reports",
] }
num-bigint = { version = "^0.4.0", features = [
  "rand",
  "quickcheck",
  "serde",
] }
quickcheck = "^1"
rand = "^0.8.4"
serde = "^1.0"
serde_json = "^1.0.149"

[[bench]]
name = "arithmetic"
harness = false

[[bench]]
name = "pi"
harness = false

[[bench]]
name = "pi_unsigned"
harness = false
