.. java:import:: fr.inria.tapenade.analysis ADActivityAnalyzer .. java:import:: fr.inria.tapenade.analysis DataFlowAnalyzer .. java:import:: fr.inria.tapenade.representation ArrayDim .. java:import:: fr.inria.tapenade.representation ArrayTypeSpec .. java:import:: fr.inria.tapenade.representation AtomFuncDerivative .. java:import:: fr.inria.tapenade.representation CompositeTypeSpec .. java:import:: fr.inria.tapenade.representation ILUtils .. java:import:: fr.inria.tapenade.representation InstructionMask .. java:import:: fr.inria.tapenade.representation NewSymbolHolder .. java:import:: fr.inria.tapenade.representation PrimitiveTypeSpec .. java:import:: fr.inria.tapenade.representation SymbolTable .. java:import:: fr.inria.tapenade.representation TapEnv .. java:import:: fr.inria.tapenade.representation TapList .. java:import:: fr.inria.tapenade.representation TypeDecl .. java:import:: fr.inria.tapenade.representation TypeSpec .. java:import:: fr.inria.tapenade.representation Unit .. java:import:: fr.inria.tapenade.representation WrapperTypeSpec .. java:import:: fr.inria.tapenade.representation ZoneInfo .. java:import:: fr.inria.tapenade.utils BoolVector .. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils Operator .. java:import:: fr.inria.tapenade.utils TapIntList .. java:import:: fr.inria.tapenade.utils TapPair .. java:import:: fr.inria.tapenade.utils ToBool .. java:import:: fr.inria.tapenade.utils ToObject .. java:import:: fr.inria.tapenade.utils Tree ExpressionDifferentiator ======================== .. java:package:: fr.inria.tapenade.differentiation :noindex: .. java:type:: public class ExpressionDifferentiator Object that knows how to differentiate an expression. Constructors ------------ ExpressionDifferentiator ^^^^^^^^^^^^^^^^^^^^^^^^ .. java:constructor:: protected ExpressionDifferentiator(DifferentiationEnv adEnv) :outertype: ExpressionDifferentiator Constructor. Methods ------- adjointDifferentiateAssignedExpression ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected TapList[] adjointDifferentiateAssignedExpression(Tree lhs, boolean needSetDiffLhs, Tree expression, boolean needDiffRhs, TapList toPrecomputes, BoolVector beforeActiv, SymbolTable diffSymbolTable) :outertype: ExpressionDifferentiator Adjoint differentiation of expression from assignment lhs:=expression. :param needSetDiffLhs: when true (general case, e.g. diffLhs is needed upstream) we must generate an instruction that recomputes diffLhs. :param needDiffRhs: when true (general case, e.g. diffLhs is active downstream) we must generate the updates of the diff variables of the rhs expression. :return: an array (one per replica, in general only one) of lists of future differentiated assignments cutCostsString ^^^^^^^^^^^^^^ .. java:method:: public static String cutCostsString(Tree tree) :outertype: ExpressionDifferentiator getCost ^^^^^^^ .. java:method:: protected static int getCost(Tree expression) :outertype: ExpressionDifferentiator Run-time cost of expression. :param expression: expression to split if cost > 30. :return: run-time cost. tangentDifferentiateAssignedExpression ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected Tree[] tangentDifferentiateAssignedExpression(Tree lhs, Tree expression, TapList toPrecomputes, TapList toPrecomputesDiff, Tree copySrcAssignment, BoolVector beforeActiv, TapPair, TapList> primRW, TapPair, TapList> diffRW, SymbolTable diffSymbolTable) :outertype: ExpressionDifferentiator Tangent differentiation of expression from assignment lhs:=expression. :return: an array (one per replica, in general only one) of tangent diff assignment. tangentDifferentiatePlainExpression ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected Tree[] tangentDifferentiatePlainExpression(ToObject toPrimalExp, TapList toPrecomputes, TapList toPrecomputesDiff, BoolVector beforeActiv, TapPair, TapList> primRW, TapPair, TapList> diffRW, SymbolTable diffSymbolTable) :outertype: ExpressionDifferentiator Tangent differentiation of a standalone expression (given in toPrimalExp.obj). :return: an array (one per replica, in general only one) of tangent diff expression.