[package]
edition = "2024"
name = "nsys-math-utils"
version = "1.1.0"
authors = ["Shane Pearman <spearman@gitlab.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Math types and traits"
readme = "README.md"
license = "MPL-2.0"
repository = "https://gitlab.com/spearman/math-utils-rs"
[features]
derive_serdes = [
"serde",
"fixed/serde",
"vek/serde",
]
[lib]
name = "math_utils"
path = "src/lib.rs"
[[example]]
name = "coordinates"
path = "examples/coordinates.rs"
required-features = ["derive_serdes"]
[[example]]
name = "geometry"
path = "examples/geometry.rs"
[[example]]
name = "tutorial"
path = "examples/tutorial.rs"
[dependencies.cordic]
version = "0.1.*"
[dependencies.derive_more]
version = "2.*"
features = [
"deref",
"display",
"from",
"not",
"try_into",
]
[dependencies.either]
version = "1.*"
[dependencies.fixed]
version = "1.*"
features = ["num-traits"]
[dependencies.fixed-sqrt]
version = "0.3.*"
[dependencies.rand]
version = "0.10.*"
[dependencies.serde]
version = "1.*"
features = ["derive"]
optional = true
[dependencies.stash]
version = "0.1.*"
[dependencies.strum]
version = "0.27.*"
features = ["derive"]
[dependencies.vek]
version = "0.17.*"
[dev-dependencies.rand_distr]
version = "0.6.*"
[dev-dependencies.rand_xorshift]
version = "0.5.*"
[dev-dependencies.serde_json]
version = "1.*"
[dev-dependencies.sorted-vec]
version = "0.8.*"
[lints.clippy]
allow-attributes = "warn"
assertions-on-result-states = "warn"
bool-to-int-with-if = "warn"
branches-sharing-code = "warn"
cast-possible-truncation = "warn"
cast-possible-wrap = "warn"
cast-sign-loss = "warn"
clear-with-drain = "warn"
cloned-instead-of-copied = "warn"
collection-is-never-read = "warn"
debug-assert-with-mut-call = "warn"
derive-partial-eq-without-eq = "warn"
disallowed-names = "allow"
doc-broken-link = "warn"
doc-include-without-cfg = "warn"
doc-link-code = "warn"
doc-link-with-quotes = "warn"
doc-markdown = "warn"
elidable-lifetime-names = "warn"
empty-drop = "warn"
empty-enum-variants-with-brackets = "warn"
empty-line-after-doc-comments = "allow"
equatable-if-let = "warn"
error-impl-error = "warn"
explicit-deref-methods = "warn"
filter-map-next = "warn"
flat-map-option = "warn"
format-collect = "warn"
format-push-string = "warn"
ignored-unit-patterns = "warn"
impl-trait-in-params = "warn"
implicit-clone = "warn"
inefficient-to-string = "warn"
infinite-loop = "warn"
invalid-upcast-comparisons = "warn"
iter-filter-is-ok = "warn"
iter-filter-is-some = "warn"
iter-with-drain = "warn"
large-stack-frames = "warn"
large-types-passed-by-value = "warn"
len-zero = "allow"
literal-string-with-formatting-args = "warn"
lossy-float-literal = "warn"
macro-use-imports = "warn"
manual-assert = "warn"
manual-is-multiple-of = "allow"
manual-is-power-of-two = "warn"
manual-is-variant-and = "warn"
manual-let-else = "warn"
map-unwrap-or = "warn"
map-with-unused-argument-over-ranges = "warn"
match-same-arms = "warn"
match-wildcard-for-single-variants = "warn"
maybe-infinite-iter = "warn"
mem-forget = "warn"
mismatching-type-param-order = "warn"
missing-asserts-for-indexing = "warn"
missing-const-for-fn = "warn"
module-name-repetitions = "warn"
multiple-crate-versions = "warn"
mut-mut = "warn"
mutex-atomic = "warn"
naive-bytecount = "warn"
needless-bitwise-bool = "warn"
needless-collect = "warn"
needless-continue = "warn"
needless-pass-by-ref-mut = "warn"
needless-raw-string-hashes = "warn"
needless-raw-strings = "warn"
no-effect-underscore-binding = "warn"
non-std-lazy-statics = "warn"
non-zero-suggestions = "warn"
nonstandard-macro-braces = "warn"
option-as-ref-cloned = "warn"
precedence-bits = "warn"
pub-underscore-fields = "warn"
range-minus-one = "warn"
range-plus-one = "warn"
read-zero-byte-vec = "warn"
redundant-clone = "warn"
redundant-closure-for-method-calls = "warn"
redundant-test-prefix = "warn"
ref-as-ptr = "warn"
ref-binding-to-reference = "warn"
ref-option = "warn"
ref-option-ref = "warn"
ref-patterns = "warn"
renamed-function-params = "warn"
rest-pat-in-fully-bound-structs = "warn"
same-functions-in-if-condition = "warn"
same-name-method = "warn"
set-contains-or-insert = "warn"
significant-drop-in-scrutinee = "warn"
significant-drop-tightening = "warn"
single-char-pattern = "warn"
single-component-path-imports = "allow"
single-match = "allow"
single-option-map = "warn"
str-split-at-newline = "warn"
string-add-assign = "warn"
suboptimal-flops = "warn"
suspicious-xor-used-as-pow = "warn"
trait-duplication-in-bounds = "warn"
transmute-ptr-to-ptr = "warn"
trivial-regex = "warn"
trivially-copy-pass-by-ref = "warn"
try-err = "warn"
type-complexity = "allow"
type-repetition-in-bounds = "warn"
uninhabited-references = "warn"
uninlined-format-args = "warn"
unnecessary-debug-formatting = "warn"
unnecessary-join = "warn"
unnecessary-literal-bound = "warn"
unnecessary-semicolon = "warn"
unnecessary-struct-initialization = "warn"
unnecessary-wraps = "warn"
unneeded-field-pattern = "warn"
unsafe-derive-deserialize = "warn"
unused-async = "warn"
unused-peekable = "warn"
unused-result-ok = "warn"
unused-rounding = "warn"
unused-self = "warn"
used-underscore-binding = "warn"
used-underscore-items = "warn"
useless-let-if-seq = "warn"
verbose-bit-mask = "warn"
verbose-file-reads = "warn"
while-float = "warn"
zero-sized-map-values = "warn"
[lints.rust]
ambiguous-negative-literals = "warn"
closure-returning-async-block = "warn"
explicit-outlives-requirements = "warn"
linker-messages = "warn"
meta-variable-misuse = "warn"
redundant-lifetimes = "warn"
trivial-numeric-casts = "warn"
unit-bindings = "warn"
unknown-lints = "warn"
unnameable-types = "warn"
unreachable-pub = "warn"
unused-extern-crates = "warn"
unused-import-braces = "warn"
unused-lifetimes = "warn"
unused-macro-rules = "warn"
unused-qualifications = "warn"