[go: up one dir, main page]

enterpolation 0.3.0

A library for creating and computing interpolations, extrapolations and smoothing of generic data points.
Documentation
[package]

name = "enterpolation"

authors = ["Nicolas Klenert <klenert.nicolas@gmail.com>"]

exclude = ["examples/*", ".gitignore", "CHANGELOG.md", "CONTRIBUTING.md"]

edition = "2024"

description = "A library for creating and computing interpolations, extrapolations and smoothing of generic data points."

license = "MIT OR Apache-2.0"

documentation = "https://docs.rs/enterpolation"

repository = "https://github.com/NicolasKlenert/enterpolation"

readme = "README.md"

keywords = ["interpolation", "curve", "spline", "bezier", "nurbs"]

categories = ["graphics", "mathematics", "no-std"]

version = "0.3.0"



[dependencies]

topology-traits = { version = "0.1.2", default-features = false }

num-traits = { version = "0.2.19", default-features = false }

serde = { version = "1.0.219", optional = true, default-features = false, features = [

    "derive",

] }





[dev-dependencies]

assert_float_eq = { version = "1.1.4", default-features = false }

# real black box in necessary for accurate benches, but is only available in rust-nightly

criterion = { version = "0.5" } #, features = ["real_blackbox"]}

# we are using palette and image as dependency for our gradient example

palette = "0.7.6"

image = "0.25.6"



[features]

default = ["std", "linear", "bezier", "bspline"]

std = [

    "num-traits/std",

    "assert_float_eq/std",

    "topology-traits/std",

    "serde?/std",

]

libm = ["num-traits/libm", "topology-traits/libm"]

linear = []

bezier = []

bspline = []

serde = ["dep:serde"]



[[bench]]

name = "benches"

harness = false



[[example]]

name = "bspline_reasoning"

path = "examples/bspline_reasoning.rs"

required-features = ["linear", "bezier", "bspline"]



[[example]]

name = "gradient"

path = "examples/gradient.rs"

required-features = ["bspline"]



[[example]]

name = "linear"

path = "examples/linear.rs"

required-features = ["std", "linear"]



[[example]]

name = "noise"

path = "examples/noise.rs"

required-features = ["bspline"]



[[example]]

name = "nurbs"

path = "examples/nurbs.rs"

required-features = ["bspline"]



[[example]]

name = "plateaus"

path = "examples/plateaus.rs"

required-features = ["linear"]



[badges.maintenance]

status = "actively-developed"



[package.metadata.cargo-all-features]



# Skip std and libm, as they are incompatible.

skip_feature_sets = [["std", "libm"]]

# Always include either std or libm

always_include_features = [["std", "libm"]]



# The maximum number of features to try at once.

max_combination_size = 4