concision_linear/
primitives.rs1pub use self::params::*;
6use nd::{ArrayBase, Ix0, Ix1};
7
8pub(crate) type Pair<A, B = A> = (A, B);
9
10pub(crate) type MaybePair<A, B = A> = Pair<A, Option<B>>;
11
12pub(crate) type NodeBase<S, D = Ix1, E = Ix0> = MaybePair<ArrayBase<S, D>, ArrayBase<S, E>>;
13
14pub(crate) type Node<A = f64, D = Ix1, E = Ix0> = NodeBase<nd::OwnedRepr<A>, D, E>;
15
16pub(crate) mod params {
17
18 macro_rules! params_ty {
19 ($($name:ident<$repr:ident>),* $(,)?) => {
20 $(params_ty!(@impl $name<$repr>);)*
21 };
22 (@impl $name:ident<$repr:ident>) => {
23 pub type $name<T = f64, K = $crate::params::Biased, D = ndarray::Ix2> = $crate::params::ParamsBase<ndarray::$repr<T>, D, K>;
24 };
25 }
26
27 params_ty!(LinearParams<OwnedRepr>, LinearParamsShared<OwnedArcRepr>,);
28}