Interface SymExtension


public interface SymExtension

A node that needs more than its inputs bound: an operator whose parameters are chosen per evaluation, from data the expression cannot name. The builder gives it the block it landed on and the function being built, and it registers whatever hooks and captures it needs.

This is what keeps composites out of the builder. A bilinear grid, for instance, picks the four knots surrounding a pixel and hands their parameter slices to its operator, then publishes those same slices as Jacobian columns — all of which it does through this interface, so nothing about grids appears here or in SymGraphBuilder.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    install(JacobianSerialChain<double[]> chains, int block, SymFunction function)
    Registers pre-forward hooks and moving Jacobian columns.
    default boolean
    ownsInput(int slot)
    True when the extension supplies this input itself, so the builder must not demand that the expression bind it
  • Method Details

    • install

      void install(JacobianSerialChain<double[]> chains, int block, SymFunction function)
      Registers pre-forward hooks and moving Jacobian columns. Called once, before the graph is fixated, with the terminals already resolved to their handles
    • ownsInput

      default boolean ownsInput(int slot)
      True when the extension supplies this input itself, so the builder must not demand that the expression bind it