DiffConstants

public final class DiffConstants

Constants used during differentiation.

Fields

ADJOINT

protected static final int ADJOINT

ADJOINT_BWD

protected static final int ADJOINT_BWD

ADJOINT_FWD

protected static final int ADJOINT_FWD

ADJOINT_MODE

protected static final int ADJOINT_MODE

ADJOINT_SPLIT_MODE

protected static final int ADJOINT_SPLIT_MODE

ALT_DIFF_VAR

protected static final int ALT_DIFF_VAR

The index where we store an alternate diff name of a given variable. For instance for v, the std diff var may be vb, and me may need another diff var vb0 for instance for storing a previous value of vb…

BINOMIAL_LOOP

protected static final int BINOMIAL_LOOP

CHECKPOINT

protected static final int CHECKPOINT

COPY_DIFF_VAR

protected static final int COPY_DIFF_VAR

DIFFERENTIATED

protected static final int DIFFERENTIATED

DO_LOOP

protected static final int DO_LOOP

ENTRY_BLOCK

protected static final int ENTRY_BLOCK

FIXEDPOINT_LOOP

protected static final int FIXEDPOINT_LOOP

II_LOOP

protected static final int II_LOOP

INCALL

protected static final int INCALL

INCREMENT_VARIABLE

protected static final int INCREMENT_VARIABLE

Constants for the “kind” of differentiated statement.

INEXPR

protected static final int INEXPR

The possible values for the (stacked) contexts in which variables must be differentiated. May be INEXPR (default), INCALL, INHEADER

INHEADER

protected static final int INHEADER

LABELLED_REGION

protected static final int LABELLED_REGION

MOD

protected static final int MOD

MULTITHREAD_REGION

protected static final int MULTITHREAD_REGION

NATURAL_LOOP

protected static final int NATURAL_LOOP

NODIFF

protected static final int NODIFF

ORIGCOPY

protected static final int ORIGCOPY

PLAIN

protected static final int PLAIN

PLAIN_BLOCK

protected static final int PLAIN_BLOCK

Constants for the “kind” of FlowGraphLevel.

PLAIN_GROUP

protected static final int PLAIN_GROUP

PROC

protected static final int PROC

SET_VARIABLE

protected static final int SET_VARIABLE

TANGENT

protected static final int TANGENT

TANGENT_MODE

protected static final int TANGENT_MODE

The current mode of differentiation for the current unit. - in TANGENT_MODE we generate procedure FOO_D. - in ADJOINT_SPLIT_MODE we generate the two procedures FOO_FWD and FOO_BWD. - in ADJOINT_MODE we generate procedure FOO_B. ADJOINT_MODE also includes “CONTEXT” mode, where we only build a context from which to call the differentiated code.

TIMES_LOOP

protected static final int TIMES_LOOP

TOP_LEVEL

protected static final int TOP_LEVEL

TYPE

protected static final int TYPE

UNDEFSORT

protected static final int UNDEFSORT

The different sorts of differentiated Units or Variables that we may create. This integer is also the rank in the arrays of all such differentiated objects. Reserve -1 for UNDEFINED.

VAR

protected static final int VAR

Ranks in suffixes array.

WHILE_LOOP

protected static final int WHILE_LOOP

WILD_LOOP

protected static final int WILD_LOOP