[package]
authors = ["Paul Mason <paul@form1.co.nz>"]
build = "build.rs"
categories = ["science", "mathematics", "data-structures"]
description = "Decimal number implementation written in pure Rust suitable for financial and fixed-precision calculations."
documentation = "https://docs.rs/rust_decimal/"
edition = "2021"
exclude = ["tests/generated/*"]
keywords = ["decimal", "financial", "fixed", "precision", "number"]
license = "MIT"
name = "rust_decimal"
readme = "./README.md"
repository = "https://github.com/paupino/rust-decimal"
rust-version = "1.60"
version = "1.36.0"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
arbitrary = { default-features = false, optional = true, version = "1.0" }
arrayvec = { default-features = false, version = "0.7" }
borsh = { default-features = false, features = ["derive", "unstable__schema"], optional = true, version = "1.1.1" }
bytes = { default-features = false, optional = true, version = "1.0" }
diesel = { default-features = false, optional = true, version = "2.2" }
ndarray = { default-features = false, optional = true, version = "0.15.6" }
num-traits = { default-features = false, features = ["i128"], version = "0.2" }
postgres-types = { default-features = false, optional = true, version = "0.2" }
proptest = { default-features = false, optional = true, features = ["std"], version = "1.0" }
rand = { default-features = false, optional = true, version = "0.8" }
rkyv = { default-features = false, features = ["size_32", "std"], optional = true, version = "0.7.42" }
rocket = { default-features = false, optional = true, version = "0.5.0-rc.3" }
serde = { default-features = false, optional = true, version = "1.0" }
serde_json = { default-features = false, optional = true, version = "1.0" }
tokio-postgres = { default-features = false, optional = true, version = "0.7" }
[dev-dependencies]
bincode = { default-features = false, version = "1.0" }
bytes = { default-features = false, version = "1.0" }
criterion = { default-features = false, version = "0.5" }
csv = "1"
futures = { default-features = false, version = "0.3" }
rand = { default-features = false, features = ["getrandom"], version = "0.8" }
rust_decimal_macros = { default-features = false, version = "1.33" }
serde = { default-features = false, features = ["derive"], version = "1.0" }
serde_json = "1.0"
tokio = { default-features = false, features = ["macros", "rt-multi-thread", "test-util"], version = "1.0" }
version-sync = { default-features = false, features = ["html_root_url_updated", "markdown_deps_updated"], version = "0.9" }
postgres = { default-features = false, version = "0.19" }
tokio-postgres = { default-features = false, version = "0.7" }
[features]
default = ["serde", "std"]
borsh = ["dep:borsh", "std"]
c-repr = []
db-diesel-mysql = ["diesel/mysql", "std"]
db-diesel-postgres = ["diesel/postgres", "std"]
db-diesel2-mysql = ["db-diesel-mysql"]
db-diesel2-postgres = ["db-diesel-postgres"]
db-postgres = ["dep:bytes", "dep:postgres-types", "std"]
db-tokio-postgres = ["dep:bytes", "dep:postgres-types", "std"]
legacy-ops = []
maths = []
maths-nopanic = ["maths"]
ndarray = ["dep:ndarray"]
proptest = ["dep:proptest"]
rand = ["dep:rand"]
rkyv = ["dep:rkyv"]
rkyv-safe = ["rkyv/validation"]
rocket-traits = ["dep:rocket"]
rust-fuzz = ["dep:arbitrary"]
serde = ["dep:serde"]
serde-arbitrary-precision = ["serde-with-arbitrary-precision"]
serde-bincode = ["serde-str"]
serde-float = ["serde-with-float"]
serde-str = ["serde-with-str"]
serde-with-arbitrary-precision = ["serde", "serde_json/arbitrary_precision", "serde_json/std"]
serde-with-float = ["serde"]
serde-with-str = ["serde"]
std = ["arrayvec/std", "borsh?/std", "bytes?/std", "rand?/std", "rkyv?/std", "serde?/std", "serde_json?/std"]
tokio-pg = ["db-tokio-postgres"]
[[bench]]
harness = false
name = "comparison"
path = "benches/comparison.rs"
[workspace]
members = [
".",
"./macros"
]
resolver = "2"