pub enum CorridorMetric {
Rectangular,
Circular,
}Expand description
Which norm the minimax hold minimizes.
This is not cosmetic: the two target shapes have genuinely different optimal holds, and picking one silently would give a rectangle the circle’s answer (or vice versa).
Variants§
Rectangular
Per-axis (L-infinity). The two axes are independent for a rectangle, so the optimum
is the per-axis MIDPOINT OF THE EXTREMES on each axis separately, and the objective
it minimizes is max over scenarios of max(|Δelevation|, |Δwindage|).
This is also the default when no target was given: with no shape to judge against, treating the axes independently is the assumption that adds the least.
Circular
Euclidean (L2). For a circle the optimum is the center of the MINIMUM ENCLOSING CIRCLE of the scenario holds, and the objective is the largest Euclidean distance from the hold to any scenario — i.e. that circle’s radius.
Trait Implementations§
Source§impl Clone for CorridorMetric
impl Clone for CorridorMetric
Source§fn clone(&self) -> CorridorMetric
fn clone(&self) -> CorridorMetric
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CorridorMetric
impl Debug for CorridorMetric
Source§impl PartialEq for CorridorMetric
impl PartialEq for CorridorMetric
impl Copy for CorridorMetric
impl Eq for CorridorMetric
impl StructuralPartialEq for CorridorMetric
Auto Trait Implementations§
impl Freeze for CorridorMetric
impl RefUnwindSafe for CorridorMetric
impl Send for CorridorMetric
impl Sync for CorridorMetric
impl Unpin for CorridorMetric
impl UnwindSafe for CorridorMetric
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.