pub struct LinalgAdSupport {
pub kind: LinalgAdOpKind,
pub linearize: LinalgAdRuleSupport,
pub transpose: LinalgAdRuleSupport,
pub outputs: &'static [LinalgAdOutputSupport],
}Expand description
AD support manifest entry for one linalg operation.
§Examples
use tenferro_linalg::{linalg_ad_support, LinalgAdOpKind, LinalgAdRuleSupport};
let solve = linalg_ad_support(LinalgAdOpKind::TriangularSolve);
assert_eq!(solve.transpose, LinalgAdRuleSupport::Supported);Fields§
§kind: LinalgAdOpKindOperation kind described by this manifest entry.
linearize: LinalgAdRuleSupportForward-mode graph emission support.
transpose: LinalgAdRuleSupportTransposed-linear graph emission support.
outputs: &'static [LinalgAdOutputSupport]Per-output support status for multi-output operations.
Trait Implementations§
Source§impl Clone for LinalgAdSupport
impl Clone for LinalgAdSupport
Source§fn clone(&self) -> LinalgAdSupport
fn clone(&self) -> LinalgAdSupport
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LinalgAdSupport
impl Debug for LinalgAdSupport
Source§impl PartialEq for LinalgAdSupport
impl PartialEq for LinalgAdSupport
impl Copy for LinalgAdSupport
impl Eq for LinalgAdSupport
impl StructuralPartialEq for LinalgAdSupport
Auto Trait Implementations§
impl Freeze for LinalgAdSupport
impl RefUnwindSafe for LinalgAdSupport
impl Send for LinalgAdSupport
impl Sync for LinalgAdSupport
impl Unpin for LinalgAdSupport
impl UnsafeUnpin for LinalgAdSupport
impl UnwindSafe for LinalgAdSupport
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§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
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more