[−][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: u64Scaling factor of the vector.
expr: ExprExpression 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>[src]
pub fn with_expr(self, expr: Expr) -> Self[src]
Return the same element with modified pretty-print expression
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".
pub fn equal(self, n: N) -> Ineq<N, F> where
N: Clone + Neg<Output = N>, [src]
N: Clone + Neg<Output = N>,
Return the equality "self = n".
Trait Implementations
impl<N: Clone, F: Clone> Clone for QFlag<N, F>[src]
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,
impl<N: Debug, F: Debug> Debug for QFlag<N, F>[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<'_, N, F> Add<&'_ QFlag<N, F>> for QFlag<N, F> where
N: Clone + NumCast + Num + ScalarOperand,
F: Flag, [src]
N: Clone + NumCast + Num + ScalarOperand,
F: Flag,
type Output = Self
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<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>,
Auto Trait Implementations
impl<N, F> Send for QFlag<N, F> where
F: Send,
N: Send,
F: Send,
N: Send,
impl<N, F> Sync for QFlag<N, F> where
F: Sync,
N: Sync,
F: Sync,
N: Sync,
impl<N, F> Unpin for QFlag<N, F> where
F: Unpin,
N: Unpin,
F: Unpin,
N: Unpin,
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, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
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, 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> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
T: Neg<Output = T>,
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> Same<T> for T[src]
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,