Skip to main content

semantic_ad_rules

Function semantic_ad_rules 

Source
pub fn semantic_ad_rules() -> Result<SemanticExtensionRuleSet, SemanticExtensionRegistryError>
Expand description

Return the linalg semantic-program AD rule set.

§Errors

Returns [SemanticExtensionRegistryError::MalformedFamilyId] if the linalg family identifier is invalid, or [SemanticExtensionRegistryError::DuplicateRule] if a semantic rule role is already registered.

§Examples

let rules = tenferro_linalg::semantic_ad_rules().unwrap();
assert!(rules
    .lookup_linearize(tenferro_linalg::LINALG_EXTENSION_FAMILY_ID)
    .is_some());
assert!(rules
    .lookup_linear_transpose(tenferro_linalg::LINALG_EXTENSION_FAMILY_ID)
    .is_some());
assert!(rules
    .lookup_primal_vjp(tenferro_linalg::LINALG_EXTENSION_FAMILY_ID)
    .is_none());