Skip to main content

SemanticPrimalVjpRule

Trait SemanticPrimalVjpRule 

Source
pub trait SemanticPrimalVjpRule:
    Debug
    + Send
    + Sync
    + 'static {
    // Required methods
    fn family_id(&self) -> &'static str;
    fn primal_vjp(
        &self,
        request: SemanticPrimalVjpRequest<'_>,
        builder: &mut SemanticProgramBuilder,
    ) -> Result<Box<[AdValue]>, SemanticAdError>;
}
Expand description

Optional direct VJP rule expressed against primal semantic values.

Required Methods§

Source

fn family_id(&self) -> &'static str

Return the versioned extension family handled by this rule.

Source

fn primal_vjp( &self, request: SemanticPrimalVjpRequest<'_>, builder: &mut SemanticProgramBuilder, ) -> Result<Box<[AdValue]>, SemanticAdError>

Emit ordered optional input cotangents into builder.

§Errors

Returns SemanticAdError::Unsupported when the payload is outside the rule’s supported domain, or SemanticAdError::Build when emitted semantic operations fail validation.

Implementors§