[−][src]Struct flag_algebra::QFlag
An element of a flag algebra.
Fields
basis: Basis<F>
Basis of the space where the element lives. This corresponds to the size and type of the flags.
data: Array1<N>
The vector of the element in the corresponding basis is (1/self.scale).self.data
.
scale: u64
Scaling factor of the vector.
expr: Expr
Expression recording how the vector was computed.
Methods
impl<N, F> QFlag<N, F> where
N: Copy + Num + Default + NumCast + AddAssign,
F: Flag,
[src]
N: Copy + Num + Default + NumCast + AddAssign,
F: Flag,
pub fn expand(&self, outbasis: Basis<F>) -> Self
[src]
Projection to a basis of larger flag.
pub fn untype(&self) -> Self
[src]
Unlabeling operator 〚.〛 to the flag algebra of completly unlabeled flags.
impl<N, F> QFlag<N, F> where
N: Num + NumCast + Display,
F: Flag,
[src]
N: Num + NumCast + Display,
F: Flag,
pub fn at_least(self, x: N) -> Ineq<N, F>
[src]
Return the inequality "self
≥ n
".
pub fn at_most(self, n: N) -> Ineq<N, F> where
N: Clone + Neg<Output = N>,
[src]
N: Clone + Neg<Output = N>,
Return the inequality "self
≤ n
".
pub fn non_negative(self) -> Ineq<N, F> where
N: Num,
[src]
N: Num,
Return the inequality "self
≥ 0
".
Trait Implementations
impl<N, F> PartialEq<QFlag<N, F>> for QFlag<N, F> where
N: Num + NumCast + Copy,
F: Flag,
[src]
N: Num + NumCast + Copy,
F: Flag,
fn eq(&self, other: &Self) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl<N: Clone, F: Clone> Clone for QFlag<N, F>
[src]
fn clone(&self) -> QFlag<N, F>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'a, N, F> Add<&'a QFlag<N, F>> for &'a QFlag<N, F> where
N: Clone + NumCast + Num + ScalarOperand,
F: Flag,
[src]
N: Clone + NumCast + Num + ScalarOperand,
F: Flag,
type Output = QFlag<N, F>
The resulting type after applying the +
operator.
fn add(self, other: Self) -> Self::Output
[src]
impl<N, F> Add<QFlag<N, F>> for QFlag<N, F> where
N: Clone + Num + NumCast + ScalarOperand,
F: Flag,
[src]
N: Clone + Num + NumCast + ScalarOperand,
F: Flag,
type Output = Self
The resulting type after applying the +
operator.
fn add(self, other: Self) -> Self::Output
[src]
impl<'a, N, F> Sub<&'a QFlag<N, F>> for &'a QFlag<N, F> where
N: Clone + Num + NumCast + ScalarOperand,
F: Flag,
[src]
N: Clone + Num + NumCast + ScalarOperand,
F: Flag,
type Output = QFlag<N, F>
The resulting type after applying the -
operator.
fn sub(self, other: Self) -> Self::Output
[src]
impl<N, F> Sub<QFlag<N, F>> for QFlag<N, F> where
N: Clone + Num + NumCast + ScalarOperand,
F: Flag,
[src]
N: Clone + Num + NumCast + ScalarOperand,
F: Flag,
type Output = Self
The resulting type after applying the -
operator.
fn sub(self, other: Self) -> Self::Output
[src]
impl<S, N, F> Mul<S> for QFlag<N, F> where
N: Num + ScalarOperand + NumCast + Display,
F: Flag,
S: ToPrimitive,
[src]
N: Num + ScalarOperand + NumCast + Display,
F: Flag,
S: ToPrimitive,
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, rhs: S) -> Self::Output
[src]
impl<'a, N, F> Mul<&'a QFlag<N, F>> for &'a QFlag<N, F> where
N: Num + Copy + AddAssign + Default + NumCast,
F: Flag,
[src]
N: Num + Copy + AddAssign + Default + NumCast,
F: Flag,
type Output = QFlag<N, F>
The resulting type after applying the *
operator.
fn mul(self, other: Self) -> QFlag<N, F>
[src]
impl<N, F> Mul<QFlag<N, F>> for QFlag<N, F> where
N: Num + Copy + AddAssign + Default + NumCast,
F: Flag,
[src]
N: Num + Copy + AddAssign + Default + NumCast,
F: Flag,
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, other: Self) -> Self
[src]
impl<N, F> Neg for QFlag<N, F> where
N: Clone + Neg<Output = N>,
[src]
N: Clone + Neg<Output = N>,
type Output = Self
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
impl<'a, N, F> Neg for &'a QFlag<N, F> where
N: Clone + Neg<Output = N>,
[src]
N: Clone + Neg<Output = N>,
type Output = QFlag<N, F>
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
impl<N: Debug, F: Debug> Debug for QFlag<N, F>
[src]
Auto Trait Implementations
impl<N, F> Send for QFlag<N, F> where
F: Send,
N: Send,
F: Send,
N: Send,
impl<N, F> Unpin for QFlag<N, F> where
F: Unpin,
N: Unpin,
F: Unpin,
N: Unpin,
impl<N, F> Sync for QFlag<N, F> where
F: Sync,
N: Sync,
F: Sync,
N: Sync,
impl<N, F> UnwindSafe for QFlag<N, F> where
F: UnwindSafe,
N: RefUnwindSafe + UnwindSafe,
F: UnwindSafe,
N: RefUnwindSafe + UnwindSafe,
impl<N, F> RefUnwindSafe for QFlag<N, F> where
F: RefUnwindSafe,
N: RefUnwindSafe,
F: RefUnwindSafe,
N: RefUnwindSafe,
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
T: Neg<Output = T>,