lexical 4.2.1

Lexical, to- and from-string conversion routines.
Documentation
[package]
authors = ["Alex Huszagh <ahuszagh@gmail.com>"]
autobenches = false
categories = ["parsing", "encoding", "no-std", "value-formatting"]
description = "Lexical, to- and from-string conversion routines."
documentation = "https://docs.rs/lexical"
keywords = ["parsing", "lexical", "encoding", "no_std"]
license = "MIT/Apache-2.0"
name = "lexical"
readme = "README.md"
repository = "https://github.com/Alexhuszagh/rust-lexical"
version = "4.2.1"
build = "build.rs"
exclude = [
    "data/*",
    "benches/*",
    "lexical-codegen/*",
    "lexical-benchmark/*",
]

# TODO(ahuszagh) Dependency Versioning and Rustc Roadmap:
#   - Update cfg-if to "0.1.10" when we support only Rustc >= 1.32.0.

[badges]
travis-ci = { repository = "Alexhuszagh/rust-lexical" }

[dependencies]
cfg-if = "0.1"
lexical-core = { path = "lexical-core", version = "^0.6.8", default-features = false }
# The following are only required for comprehensive float unittests.
# IE, internal testing only:
rand = { version = "0.4", optional = true }
serde = { version = "1.0", optional = true }
serde_derive = { version = "1.0", optional = true }
toml = { version = "0.5", optional = true }

[dev-dependencies]
approx = "0.3.0"
criterion = "0.3"
dtoa = "0.4"
itoa = { version = "0.4", features = ["i128"] }
lazy_static = "1"

[build-dependencies]
rustc_version = "0.2"

[features]
default = ["correct", "ryu", "std"]
# Use the correct atof parser.
correct = ["lexical-core/correct"]
# Add support for different float string formats.
format = ["lexical-core/format"]
# Use the optimized Grisu3 implementation from dtoa (not recommended).
grisu3 = ["lexical-core/grisu3"]
# Add support for [parsing non-decimal float and integer strings.
radix = ["lexical-core/radix"]
# Allow custom rounding schemes, at the cost of slower performance.
rounding = ["lexical-core/rounding"]
# Use the optimized Ryu implementation.
ryu = ["lexical-core/ryu"]
# Use the `std` library.
std = ["lexical-core/std"]
# Trim a trailing ".0" from an exported float string, and represent -0.0 as "0".
trim_floats = ["lexical-core/trim_floats"]
# Don't force bounds checking with indexing not-known to be valid at compile time.
# This may lead to memory safety issues.
unchecked_index = ["lexical-core/unchecked_index"]
# Undocumented. Disable quickcheck for older Rustc versions.
property_tests = ["lexical-core/property_tests"]
# Don't inline when using perftools.
# Testing only.
noinline = ["lexical-core/noinline"]
# Build the comprehensive float parsing tests.
# Testing only.
comprehensive_float_test = ["rand/std", "serde/std", "serde_derive", "std", "toml"]

# Binaries
# Special testing binaries for the runtests.py scripts.

[[bin]]
name = "few_ones"
path = "data/test-parse-random/few_ones.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "huge-pow10"
path = "data/test-parse-random/huge-pow10.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "long-fractions"
path = "data/test-parse-random/long-fractions.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "many-digits"
path = "data/test-parse-random/many-digits.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "rand-f64"
path = "data/test-parse-random/rand-f64.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "short-decimals"
path = "data/test-parse-random/short-decimals.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "subnorm"
path = "data/test-parse-random/subnorm.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "tiny-pow10"
path = "data/test-parse-random/tiny-pow10.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "u32-small"
path = "data/test-parse-random/u32-small.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "u64-pow2"
path = "data/test-parse-random/u64-pow2.rs"
required-features = ["comprehensive_float_test"]

[[bin]]
name = "test-parse-unittests"
path = "data/test-parse-unittests/main.rs"
required-features = ["comprehensive_float_test"]

# Benchmarks

[[bench]]
name = "atof"
path = "benches/atof.rs"
harness = false

[[bench]]
name = "atof_malicious"
path = "benches/atof_malicious.rs"
harness = false

[[bench]]
name = "atof_real"
path = "benches/atof_real.rs"
harness = false

[[bench]]
name = "atoi"
path = "benches/atoi.rs"
harness = false

[[bench]]
name = "itoa"
path = "benches/itoa.rs"
harness = false

[[bench]]
name = "ftoa"
path = "benches/ftoa.rs"
harness = false

[profile.dev]
opt-level = 0
debug = true
lto = false

[profile.release]
opt-level = 3
debug = false
debug-assertions = false
lto = true

[profile.bench]
opt-level = 3
debug = false
debug-assertions = false
lto = true