moc 0.6.0

Library made to create and manipulate HEALPix Multi-Order Coverages maps (MOCs), see https://ivoa.net/documents/MOC/
Documentation
# Nightly feature :o/
#cargo-features = ["strip"]

[package]
name = "moc"
version = "0.6.0"
authors = [
  "F.-X. Pineau <francois-xavier.pineau@astro.unistra.fr>",
  "Matthieu Baumann <baumannmatthieu0@gmail.com>"
]
description = """
Library made to create and manipulate HEALPix
Multi-Order Coverages maps (MOCs), see https://ivoa.net/documents/MOC/
"""
license = "Apache-2.0 OR MIT"
readme = "README.md"
categories = ["science", "data-structures", "algorithms"]
keywords = ["healpix", "moc"]
documentation = "https://docs.rs/moc"
homepage = "https://github.com/cds-astro/cds-moc-rust/"
repository = "https://github.com/cds-astro/cds-moc-rust/"
edition = "2018"


[lib]
name = "moc"
path = "src/lib.rs"
test = true
doctest = true
bench = true

[workspace]
members = ["crates/cli"]
exclude = ["crates/wasm"]
# I so far have a problem with building the cli with:
# - cargo deb --target x86_64-unknown-linux-musl
# It tries to compile crates/wasm but failed because of
# crate-type = ["cdylib"] in wasm Cargo.toml
#members = [
#  "crates/cli",
#  "crates/wasm",
#]

[dependencies]
num = "0.4"
nom = "6.1.2"
quick-error = "2.0.1"
healpix = { package = "cdshealpix", version = "0.5.5" }
# healpix = { package = "cdshealpix", path = "../rust-healpix" }
serde_json = "1.0"
byteorder = "1.4.3"
rayon = "1.5.1"
# see wasm-bindgen-rayon
# or use #[cfg(not(target_arch = "wasm32"))]
# where rayon is used

[dev-dependencies]
rand = "0.8.3"
criterion = "0.3"

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

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

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

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

# Run a specific bench:
#  RUSTFLAGS='-C target-cpu=native' cargo bench --bench moc_minus

# See default profiles: https://doc.rust-lang.org/cargo/reference/profiles.html
# But bench can be run with the cpu-native option: RUSTFLAGS='-C target-cpu=native' cargo bench
[profile.bench]
opt-level = 3



# See opti here: https://github.com/johnthagen/min-sized-rust
[profile.release]
# strip = true  # Automatically strip symbols from the binary (nightly feature :o/ ).
lto = true    # Optimize at the link stage (may remove dead code)
codegen-units = 1
panic = "abort"