[package]
name = "feldera-fxp"
description = "Fixed-point decimal with fixed precision and scale"
categories = ["mathematics"]
authors = { workspace = true }
version = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
keywords = { workspace = true }
readme = { workspace = true }
rust-version = { workspace = true }
edition = { workspace = true }

[features]
dbsp = ["serde", "rkyv", "size_of", "dep:dbsp", "dep:feldera-types"]
serde = ["dep:serde"]
rkyv = ["dep:rkyv"]
validation = ["rkyv", "dep:bytecheck", "rkyv/validation"]
size_of = ["dep:size-of"]

[dependencies]
num-traits = { workspace = true }
serde = { workspace = true, optional = true }
smallstr = { workspace = true }
smallvec = { workspace = true }
size-of = { workspace = true, optional = true }
rkyv = { workspace = true, features = ["size_64"], optional = true }
bytecheck = { version = "0.6.12", optional = true }
dbsp = { workspace = true, optional = true }
feldera-types = { workspace = true, optional = true }
rand = { workspace = true, features = ["small_rng"] }
rand_distr = { workspace = true }

[dev-dependencies]
serde_json = { workspace = true }
num-bigint = { workspace = true }
itertools.workspace = true
