.. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils TapPair .. java:import:: fr.inria.tapenade.utils TopDownTreeWalk .. java:import:: fr.inria.tapenade.utils Tree AtomFuncDerivative ================== .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public final class AtomFuncDerivative Object that manages the derivatives of a black-box routine, intrinsic or external or other. For each routine, one such object is built from a specification which is an IL Tree, as described in function incorporateNewAtomFunc(Tree, SymbolTable). Fields ------ derivs ^^^^^^ .. java:field:: public Tree[] derivs :outertype: AtomFuncDerivative derivsKeyTreeList ^^^^^^^^^^^^^^^^^ .. java:field:: public TapList>[] derivsKeyTreeList :outertype: AtomFuncDerivative factor ^^^^^^ .. java:field:: public Tree factor :outertype: AtomFuncDerivative factorKeyTreeList ^^^^^^^^^^^^^^^^^ .. java:field:: public TapList> factorKeyTreeList :outertype: AtomFuncDerivative origKeyTreeList ^^^^^^^^^^^^^^^ .. java:field:: public TapList> origKeyTreeList :outertype: AtomFuncDerivative origPattern ^^^^^^^^^^^ .. java:field:: public Tree origPattern :outertype: AtomFuncDerivative paramVars ^^^^^^^^^ .. java:field:: public TapPair[] paramVars :outertype: AtomFuncDerivative Constructors ------------ AtomFuncDerivative ^^^^^^^^^^^^^^^^^^ .. java:constructor:: public AtomFuncDerivative(Tree origPattern, TapList> origKeyTreeList, Tree factor, TapList> factorKeyTreeList, TapPair[] paramVars, Tree[] derivs, TapList>[] derivsKeyTreeList) :outertype: AtomFuncDerivative Methods ------- buildPartialDerivative ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public Tree buildPartialDerivative(int i) :outertype: AtomFuncDerivative getDiffCallNames ^^^^^^^^^^^^^^^^ .. java:method:: public TapList getDiffCallNames() :outertype: AtomFuncDerivative getMetavarsFromPattern ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static TapList> getMetavarsFromPattern(Tree tree, TapList> keyTreeList) :outertype: AtomFuncDerivative getParamExprs ^^^^^^^^^^^^^ .. java:method:: public Tree[] getParamExprs() :outertype: AtomFuncDerivative incorporateNewAtomFunc ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static void incorporateNewAtomFunc(Tree defTree, Unit functionUnit) :outertype: AtomFuncDerivative Incorporates the definition of derivatives of an atomic function into the properties attached to that atomic function in the "symbolTable". Assumes that defTree is an IL Tree of the shape: binary(call(none(), ident "atomicFunctionName", expressions(containing ,,...)) , expressions(binary(,none(),), binary(,none(),), ...)) Where the are metavariables (op_metavar) that get instantiated during the pattern-match between the origPattern and the actual call, and the are the corresponding partial derivatives wrt . Of course, each may use some or all of the . matches ^^^^^^^ .. java:method:: public void matches(Tree tree) :outertype: AtomFuncDerivative toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: AtomFuncDerivative