mdmath_core/
lib.rs

1//! Core multidimensional mathematics library.
2#![ doc( html_root_url = "https://docs.rs/mdmath_core/latest/mdmath_core/" ) ]
3#![ cfg_attr( doc, doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/", "readme.md" ) ) ) ]
4#![ cfg_attr( not( doc ), doc = "Core multidimensional mathematics library" ) ]
5
6#![allow(clippy::implicit_return)]
7#![allow(clippy::missing_inline_in_public_items)]
8#![allow(clippy::default_numeric_fallback)]
9#![allow(clippy::missing_trait_methods)]
10#![allow(clippy::wildcard_imports)]
11#![allow(clippy::arithmetic_side_effects)]
12#![allow(clippy::indexing_slicing)]
13#![allow(clippy::panic)]
14#![allow(clippy::uninlined_format_args)]
15#![allow(clippy::ptr_as_ptr)]
16#![allow(clippy::as_conversions)]
17#![allow(clippy::needless_maybe_sized)]
18#![allow(clippy::std_instead_of_core)]
19#![allow(clippy::blanket_clippy_restriction_lints)]
20#![allow(clippy::needless_return)]
21#![allow(clippy::transmute_ptr_to_ptr)]
22#![allow(clippy::elidable_lifetime_names)]
23#![allow(clippy::if_then_some_else_none)]
24#![allow(clippy::borrow_as_ptr)]
25
26#[ cfg( feature = "enabled" ) ]
27use ::mod_interface::mod_interface;
28
29#[ cfg( feature = "enabled" ) ]
30mod private
31{
32}
33
34#[ cfg( feature = "enabled" ) ]
35crate::mod_interface!
36{
37
38  /// Approximate equality for floating-point types can be determined using either relative difference
39  /// or comparisons based on units in the last place (ULPs).
40  #[ cfg( feature = "approx" ) ]
41  layer approx;
42
43  /// Multidimensional indices.
44  #[ cfg( feature = "index" ) ]
45  layer index;
46
47  /// Describe general floats and operations on them.
48  #[ cfg( feature = "float" ) ]
49  layer float;
50
51  /// General math traits.
52  #[ cfg( feature = "general" ) ]
53  layer general;
54
55  /// Reusing `nd_array`.
56  #[ cfg( feature = "nd" ) ]
57  layer nd;
58
59  /// Strides for plain multidemnsional space.
60  layer plain;
61
62  /// General traits, not necessarily special for math.
63  layer traits;
64
65  /// Univeral vector.
66  layer vector;
67
68}