► N codi CoDiPack - Code Differentiation Package.
► N AdjointVectorTraits General traits of adjoint vectors
C GradientImplementation Trait implementation to deduce the entry type from an adjoint vector type
► N AtomicTraits Traits for atomic types
C IsAtomic Indicate whether a type is atomic
C IsAtomic< OpenMPAtomic< T_Type > > Declare OpenMPAtomic to be atomic in terms of AtomicTraits
C IsAtomic< OpenMPReverseAtomic< T_Type > > Declare OpenMPAtomic to be atomic in terms of AtomicTraits
C RemoveAtomicImpl Convert an atomic type into the underlying type. Implementation
C RemoveAtomicImpl< Atomic, EnableIfAtomic< Atomic > > Specialization for atomic types
► N ComputationTraits
C AdjointConversionImpl Perform the conversion of Outer(Inner) in the adjoint context. Default implementation for Outer == Inner
C TransposeImpl Perform or if entries are complex. No default implementation available
C UpdateImpl Perform the operation lhs += rhs. Default logic uses operator +=
► N ExpressionTraits Traits for everything that can be an expression e.g. codi::RealReverse , a + b, etc.
C IsConstantExpression If the expression inherits from ConstantExpression . Is either std::false_type or std::true_type
C IsExpression If the expression inherits from ExpressionInterface . Is either std::false_type or std::true_type
C IsLhsExpression If the expression inherits from LhsExpressionInterface . Is either std::false_type or std::true_type
C IsStaticContextActiveType If the expression inherits from StaticContextActiveType . Is either std::false_type or std::true_type
C NumberOfActiveTypeArguments Counts the number of nodes that inherit from LhsExpressionInterface in the expression
C NumberOfActiveTypeArguments< JacobianExpression< size > > Specialization for manual statement pushes of the used expression type
C NumberOfConstantTypeArguments Counts the number of types that inherit from ConstantExpression in the expression
C NumberOfConstantTypeArguments< JacobianExpression< size > > Specialization for manual statement pushes of the used expression type
C NumberOfOperations Counts the number of nodes in the expression
C ValidateResultImpl
► N GradientTraits
C IsDirection If the expression inherits from Direction . Is either std::false_type or std::true_type
C TraitsImplementation Common traits for all types used as gradients
► N InternalAdjointVectorTraits Traits for the internal adjoint variables maintained by the tape
C IsGlobal Whether the adjoint vector is global, that is, shared among different tapes
► N RealTraits Traits for values that can be used as real values e.g. double, float, codi::RealReverse etc.
C DataExtraction Data handling methods for aggregated types that contain CoDiPack active types
C IsTotalFinite Function for checking if all values of the type are finite
C IsTotalFinite< T_Type, TapeTraits::EnableIfForwardTape< typename T_Type::Tape > > Function for checking if all values of the type are finite.
C IsTotalZero Function for checking if the value of the type is completely zero
C IsTotalZero< T_Type, TapeTraits::EnableIfForwardTape< typename T_Type::Tape > > Function for checking if the value of the type is completely zero.
C TapeRegistration Tape registration methods for aggregated types that contain CoDiPack active types
C TraitsImplementation Common traits for all types used as real values
► N TapeTraits
C IsForwardTape If the tape inherits from ForwardEvaluation
C IsJacobianTape If the tape inherits from JacobianBaseTape
C IsPrimalValueTape If the tape inherits from PrimalValueBaseTape
C IsReverseTape
C SupportsEditing
C ActiveArgumentPointerStore Declares all variables that may be needed to store/restore an active argument which has a pointer type
C ActiveArgumentStoreInterface Interface for restored data for an argument. The functions should return a compatible type that can be forwarded to the primal evaluation and the gradient computation
C ActiveArgumentStoreTraits Traits for storing active arguments in byte streams
C ActiveArgumentValueStore Declares all variables that may be needed to store/restore an active argument which has a value type
C ActiveType Represents a concrete lvalue in the CoDiPack expression tree
C ActiveTypeBase Represents the base implementation concrete lvalue in the CoDiPack expression tree
C ActiveTypeStatelessTape Represents a concrete lvalue in the CoDiPack expression tree
C ActiveTypeWrapper Creates a pseudo active type from data references. Can be used to overlay existing data with active types
C AdjointVectorAccess Implementation of VectorAccessInterface for adjoint vectors
C AggregatedTypeVectorAccessWrapper Generalized wrapper of the VectorAccessInterface for aggregated data types, e.g. std::complex<codi::RealReverse>
C AggregatedTypeVectorAccessWrapperBase Implements all methods from AggregatedTypeVectorAccessWrapper , that can be implemented with combinations of other methods
C AggregatedTypeVectorAccessWrapperFactory Factory for the creation of AggregatedTypeVectorAccessWrapper instances
C Algorithms Basic algorithms for tape evaluation in CoDiPack
C ArrayPosition Position with one index for e.g. array access
C AssignmentOperators Implementation of assignment operators for LhsExpressionInterface implementations
C AtomicInterface Provides a data type on which all operations are performed atomically
C BinaryExpression Represents an operator with two arguments in the expression tree
C BinaryOperation Interface for implementing the logic for a BinaryExpression
C BlockData Data is stored in one contiguous block in this DataInterface implementation
C ByteDataView
C Chunk1
C Chunk2
C Chunk3
C Chunk4
C ChunkBase A chunk stores a contiguous block of data in CoDiPack
C ChunkedData Data is stored chunk-wise in this DataInterface implementation. If a chunk runs out of space, a new chunk is allocated
C ChunkPosition Position with two indices for e.g. chunked data access
C CODI_UNION< First > Creates a union of interface definitions
C CoDiMpiTypes MPI datatype implementation for CoDipack types in the type wrapper of MeDiPack
C CommonBaseTapeReader Used to restore the IO from the "filename"IO.dat
or "filename"IO.txt
files. Also provides the get methods from the codi::tapeReaderInterface
C CommonBaseTapeWriter This class is a common base for all the writers and produces a IO file that contains the input and output variables of the current tape. The IO file is written in a binary or text format
C CommonReaderWriterMethods Used to implement methods common to both the tape readers and the tape writers
C CommonTapeImplementation Implementation of all common tape functionality
C CommonTapeTypes Declares all types used in the CommonTapeImplementation
C CommonTextTapeWriter This base class is used to modify the math representation of a statement
C CompileTimeLoop Compile time loop evaluation
C CompileTimeLoop< 0 > Termination of loop evaluation
C CompileTimeTraversalLogic Traversal of CoDiPack expressions during compile time
C ConstantDataConversion
C ConstantExpression Represents constant values in the expression tree
C ConstructStaticContextLogic Helper class for the construction of an expression in a different context
C ConstructVectorImpl
C ConstructVectorImpl< std::array< T_T, T_n > >
C CustomAdjointVectorEvaluationTapeInterface Allows user defined vectors for the forward and adjoint evaluation, and for clearing adjoints
C CustomAdjointVectorHelper Allows for an arbitrary adjoint evaluation of a recorded tape
C CustomAdjointVectorInterface General interface for an arbitrary adjoint evaluation
C DataInterface Data stream interface for tape data. Encapsulates data that is written e.g. for each statement or argument
C DataManagementTapeInterface Provides file IO, information about internal tape vectors and allows to clear tape data
C DefaultSynchronization Default implementation of SynchronizationInterface for serial applications
C DefaultThreadInformation Default implementation of ThreadInformationInterface for serial applications
C DerivativeAccess A helper class for the access of the various derivatives in higher order AD types
C Direction Fixed size vector mode implementation
C DirectStatementEvaluator Full evaluation of the expression in the function handle. Storing in static context
C DirectStatementEvaluatorStaticStore
C DummyHessian Dummy Hessian . Has size zero and no logic in any call
C DummyJacobian Dummy Jacobian . Has size zero and no logic in any call
C DummyValue Dummy value that can be assigned
C DummyVector Dummy vector that provides a dummy element access and size function
C DuplicateJacobianRemover Combines entries of Jacobians with the same identifier
C EditingTapeInterface Edit tapes after they have been recorded
C EigenLinearSystem
C EigenLinearSystemTypes Eigen definition for the LinearSystemInterfaceTypes
C EmptyData No data is stored in this DataInterface implementation. It is used to terminate the recursive nature of the DataInterface design
C EmptyPosition Empty Position with no nested data
C EnumBitset A bitset with enum items as flags
C EnzymeExternalFunctionHelper Helper class for the implementation of an external function with Enzyme in CoDiPack
C EvaluationHandle See EvaluationHandleBase
C EvaluationHandle< T_Func, T_Type, T_InputStore, T_OutputStore, TapeTraits::EnableIfForwardTape< typename T_Type::Tape > > See EvaluationHandleForward
C EvaluationHandle< T_Func, T_Type, T_InputStore, T_OutputStore, TapeTraits::EnableIfJacobianTape< typename T_Type::Tape > > See EvaluationHandleReverseJacobianTapes
C EvaluationHandle< T_Func, T_Type, T_InputStore, T_OutputStore, TapeTraits::EnableIfPrimalValueTape< typename T_Type::Tape > > See EvaluationHandleReversePrimalValueTapes
C EvaluationHandleBase Basic interface and data storage for all EvaluationHandle implementations
C EvaluationHandleForward
C EvaluationHandleReverseBase Implementation for reverse mode CoDiPack types of EvaluationHandleBase
C EvaluationHandleReverseJacobianTapes Implementation for Jacobian reverse mode CoDiPack types of EvaluationHandleBase
C EvaluationHandleReversePrimalValueTapes Implementation of EvaluationHandleBase for primal value reverse mode CoDiPack types
C EvaluationHelper Evaluate the primal, Jacobian and Hessian of function objects
C EventSystem Full EventSystem implementation for reverse tapes
C EventSystem< ForwardEvaluation< Real, Gradient > > Specialization for ForwardEvaluation
C EventSystemBase Base class for the CoDiPack event system
C ExpressionInterface Base class for all CoDiPack expressions
C ExternalFunction User-defined evaluation functions for the taping process
C ExternalFunctionHelper Helper class for the implementation of an external function in CoDiPack
C ExternalFunctionInternalData Internal untyped data for an external function
C ExternalFunctionLowLevelEntryMapper Low level function entry implementation for external functions
C ExternalFunctionTapeInterface Add user defined functions to the tape evaluation
C ExternalFunctionUserData Ease of access structure for user-provided data on the tape for external functions. See ExternalFunctionTapeInterface
C ExtFunc_matrixMatrixMultiplication Low level function generation for matrixMatrixMultiplication
C FileIo Helper structure for writing binary data
C ForEachLeafLogic Implement logic for leaf nodes only
C ForwardEvaluation Implementation of a tape-free forward AD mode through the internal expression interfaces
C ForwardEvaluationTapeInterface Forward AD evaluation of a recorded tape
C FullTapeInterface Full tape interface that supports all features of CoDiPack
C GradientAccessTapeInterface Allow for a direct access to the gradient information computed by the tape
C Hessian Default implementation of the Hessian interface
C HessianInterface General interface for Hessian access in CoDiPack
C IdentifierInformationTapeInterface General information about the identifiers and checks if variables are active
C ImmutableActiveType Creates a pseudo active type from a data value. Can be used to overlay existing data with immutable active types
C IncrementOperators Implementation of increment operators for LhsExpressionInterface implementations
C IndexManagerInterface Indices enable the mapping of primal values to their adjoint counterparts
C InnerPrimalTapeStatementData Additional data required by an InnerStatementEvaluator
C InnerStatementEvaluator Expression evaluation in the inner function. Data loading in the compilation context of the tape. Storing in static context
C InnerStatementEvaluatorStaticStore
C InternalAdjointsInterface Abstracts the internal set of adjoint variables provided as part of the tape
C InternalStatementRecordingTapeInterface Internal tape interface that is used by active types to trigger the storing of an expression
C IoException IoException for CoDiPack
C Jacobian Default implementation of the Jacobian interface
► C JacobianBaseTape Base class for all standard Jacobian tape implementations
C PushDelayedJacobianLogic Pushes all delayed Jacobians
C PushJacobianLogic Pushes Jacobians and indices to the tape
C Wrap_internalEvaluateForward_EvalStatements Wrapper helper for improved compiler optimizations
C Wrap_internalEvaluateReverse_EvalStatements Wrapper helper for improved compiler optimizations
C JacobianBaseTapeReader Used to register a statement for a Jacobian tape
C JacobianBinaryTapeReader Reads and restores a binary file for a Jacobian tape
C JacobianBinaryTapeWriter Writes a Jacobian tape in a binary format
C JacobianComputationLogic
C JacobianConvertWrapper Wrapper for JacboianInterfaces that requires a passive value conversion
C JacobianCountNonZerosRow Adds counting of nonzero entries
C JacobianDelayAccessor
C JacobianExpression Specialized for NumberOfActiveTypeArguments and NumberOfConstantTypeArguments
C JacobianGraphTapeWriter Generates a graphical .dot file for a Jacobian tape
C JacobianInterface General interface for Jacobian access in CoDiPack
C JacobianLinearTape Final implementation for a Jacobian tape with a linear index management
C JacobianReuseTape Final implementation for a Jacobian tape with a reuse index management
C JacobianTapeTypes Type definitions for the Jacobian tapes
C JacobianTextTapeReader Reads and restores a text file for a Jacobian tape
C JacobianTextTapeWriter Writes a Jacobian tape in a text format
C LhsExpressionInterface Base class for all CoDiPack lvalue expression
C LinearIndexManager Identifiers are created in a linear fashion. Each assign creates a new index which is counted up
C LinearSystemInterface
C LinearSystemInterfaceTypes
C LinearSystemSolverHandler
C LinearSystemSpecializationDetection
C LocalAdjoints Adjoint variables owned by a tape instance
C Lock RAII mutex locking
C LockForRead RAII lock for read. ยด
C LockForWrite RAII lock for write
C LowLevelFunctionCreationUtilities Helper structure for storing low level functions and their arguments on a tape
C LowLevelFunctionEntry Low level function entry on the tape. See LowLevelFunctionTapeInterface for details
C LowLevelFunctionTapeInterface Add functions with custom derivatives to the tape. Can, e.g, be used to optimize small recurring functions like matrix matrix multiplication
C ManualStatementPushTapeInterface Add derivative information for custom operations to the tape
C MappedAdjoints Implementation of adjoints via a map
C MathRepWriter Generates a file with the math representation for each of the statements
C MathStatementGenLogic Creates a math representation from a given rhs in the form of a string
C MemberStore Defines a member that can either be static or local to the struct
C MemberStore< T_Type, T_Parent, true > Defines a member that can either be static or local to the struct.
C MultiUseIndexManager Extends the ReuseIndexManager with a copy optimization
C MutexInterface Abstracts a mutex
C NodeInterface Node side interface for the traversal of expressions
C OpenMPAtomicImpl Atomic implementation for OpenMP
C OpenMPMutex Mutex implementation for OpenMP
C OpenMPReverseAtomicImpl Reverse atomic implementation for OpenMP
C OpenMPStaticThreadLocalPointer Static thread-local pointers for OpenMP
C OpenMPSynchronization OpenMP synchronization facilities
C OpenMPThreadInformation Thread information for OpenMP
C OperationAbs UnaryOperation implementation for abs
C OperationAcos UnaryOperation implementation for acos
C OperationAcosh UnaryOperation implementation for acosh
C OperationAdd BinaryOperation implementation for operator +
C OperationAsin UnaryOperation implementation for asin
C OperationAsinh UnaryOperation implementation for asinh
C OperationAtan UnaryOperation implementation for atan
C OperationAtan2 BinaryOperation implementation for atan2
C OperationAtanh UnaryOperation implementation for atanh
C OperationCbrt UnaryOperation implementation for cbrt
C OperationCopysign BinaryOperation implementation for copysign
C OperationCos UnaryOperation implementation for cos
C OperationCosh UnaryOperation implementation for cosh
C OperationDivide BinaryOperation implementation for operator /
C OperationErf UnaryOperation implementation for erf
C OperationErfc UnaryOperation implementation for erfc
C OperationExp UnaryOperation implementation for exp
C OperationFmod BinaryOperation implementation for fmod
C OperationFrexp BinaryOperation implementation for frexp
C OperationHypot BinaryOperation implementation for hypot
C OperationLdexp BinaryOperation implementation for ldexp
C OperationLog UnaryOperation implementation for log
C OperationLog10 UnaryOperation implementation for log10
C OperationLog1p UnaryOperation implementation for log1p
C OperationLog2 UnaryOperation implementation for log2
C OperationMax BinaryOperation implementation for max
C OperationMin BinaryOperation implementation for min
C OperationMultiply BinaryOperation implementation for operator *
C OperationPow BinaryOperation implementation for pow
C OperationRemainder
C OperationSin UnaryOperation implementation for sin
C OperationSinh UnaryOperation implementation for sinh
C OperationSqrt UnaryOperation implementation for sqrt
C OperationSubstract BinaryOperation implementation for operator -
C OperationTan UnaryOperation implementation for tan
C OperationTanh UnaryOperation implementation for tanh
C OperationTgamma UnaryOperation implementation for tgamma
C OperationUnaryMinus UnaryOperation implementation for operator -
C ParallelActiveType Represents a concrete lvalue in the CoDiPack expression tree
C ParallelReuseIndexManager Reuse index manager with a one-to-one relation between tapes and index manager
C ParallelToolbox Collects parallel programming facilties required to make CoDiPack applicable in a shared memory parallel environment
C PassiveArgumentStoreTraits Traits for storing passive arguments in byte streams
C PointerStore Inserts data pointers at the back of all arguments in the nested call hierarchy
C PointerStore< Chunk1< T_Data1 > > Pointer store for Chunk1 data
C PointerStore< Chunk2< T_Data1, T_Data2 > > Pointer store for Chunk2 data
C PointerStore< Chunk3< T_Data1, T_Data2, T_Data3 > > Pointer store for Chunk3 data
C PointerStore< Chunk4< T_Data1, T_Data2, T_Data3, T_Data4 > > Pointer store for Chunk4 data
C PositionalEvaluationTapeInterface Reverse AD evaluation for parts of a recorded tape
C PreaccumulationEvaluationTapeInterface Perform tape evaluations but ensure that the state prior to evaluation equals the state after evaluation
C PreaccumulationHelper Stores the Jacobian matrix for a code section
C PrimalAdjointVectorAccess Implementation of VectorAccessInterface for adjoint and primal vectors
C PrimalBaseTapeWriter This base class is used to implement the automatic generation of the .hpp file that restores the evaluation handles in the reading process
C PrimalBinaryTapeReader Reads and restores a binary file for a Primal tape
C PrimalBinaryTapeWriter Writes a primal value tape in a binary format
C PrimalEvaluationTapeInterface Perform a primal reevaluation of the tape
C PrimalGraphTapeWriter Generates a graphical .dot file for a primal value tape. The writer adds the math representation of statements into the node labels
C PrimalTapeStatementFunctions Data required for all possible handle calls
C PrimalTextTapeReader Reads and restores a text file for a primal value tape
C PrimalTextTapeWriter Writes a primal value tape in a text format
► C PrimalValueBaseTape Base class for all standard Primal value tape implementations
C CountActiveArguments Count all arguments that have non-zero index
C IncrementForwardLogic Perform the adjoint update based on the configuration in codi::Config::VariableAdjointInterfaceInPrimalTapes
C IncrementReversalLogic Perform the adjoint update based on the configuration in codi::Config::VariableAdjointInterfaceInPrimalTapes
C JacobianExtractionLogic Computes Jacobian entries for the event system
C JacobianStatementGenerator
C PushIdentifierPassiveAndConstant Push all data for each argument
C Wrap_internalEvaluateForward_EvalStatements Additional wrapper that triggers compiler optimizations
C Wrap_internalEvaluatePrimal_EvalStatements Wrapper helper for improved compiler optimizations
C Wrap_internalEvaluateReverse_EvalStatements Additional wrapper that triggers compiler optimizations
C PrimalValueLinearTape Final implementation for a primal value tape with a linear index management
C PrimalValueReuseTape Final implementation for a primal value tape with a reuse index management
C PrimalValueTapeTypes Type definitions for the primal value tapes
C ReadWriteMutex Mutex construct that distinguishes between lock for read and lock for write
C ReadWriteTapeInterface Write a tape to a file using a writer from the codi::TapeWriterInterface . When reading a stored tape, create a primal or a Jacobian statement on the tape
C ReferenceActiveType Holds a reference to an ActiveType for manual optimization of common arguments
C ReuseIndexManager Reuse index manager with a many-to-one relation between tapes and index manager
C ReuseIndexManagerBase Identifiers are reused. Freed identifiers are assigned to new variables. Variables keep their indices as long as they are active
C ReverseAtomicInterface Provides a data type on which += update operations are performed atomically
C ReverseStatementEvaluator Only stores the function handle for the reverse evaluation
C ReverseTapeInterface Minimum tape interface for a working reverse tape implementation
C SparseEigenLinearSystem
C StatementEvaluatorInnerTapeInterface Tape side interface for StatementEvaluatorInterface
C StatementEvaluatorInterface Creation of handles for the evaluation of expressions in a context where the expression type is not available
C StatementEvaluatorTapeInterface Tape side interface for StatementEvaluatorInterface
C StatementPushHelper Add statements to the tape where the Jacobians are computed manually
C StatementPushHelperBase Base class for manual statement pushes on the tape
C StaticContextActiveType Replacement type of LhsExpressionInterface types in ConstructStaticContext
C StaticDummy Static dummy objects for e.g. default reference arguments
C StaticThreadLocalPointerInterface Abstracts a static thread-local pointer
C SynchronizationInterface Provides basic synchronization facilities
C TagData Data for a tag
► C TagTapeBase Base implementation for tagging tapes
C ValidateTags Looks at the tags for the expression
► C TagTapeForward Tape for tagging variables and find errors in the AD workflow
► C TapeTypes Required definition for event system
C IndexManager Required definition for event system
► C TagTapeReverse Tape for tagging variables and find errors in the AD workflow
► C TapeTypes Required definition for event system
C IndexManager Required definition for event system
C TapeHelper See TapeHelperBase
C TapeHelperBase A helper class that allows for a simpler access and management of a CoDiPack tape
C TapeHelperJacobi
C TapeHelperNoImpl
C TapeHelperPrimal
C TapeReaderInterface The interface is used by all the tape readers. The tape readers are used to restore a tape from either a text file or a binary file that was created by the codi::TapeWriterInterface . The readers produce an identical tape in a new context, which can be evaluated and new statements can be added
C TapeTypesInterface Interface for the definition of tape types
C TapeValues Tape information that can be printed in a pretty print format or a table format
C TapeWriterInterface The interface used by all the tape writers. The tape writers are used to generate text, binary, graphical or the math statement files from the current tape. The text and binary files can be used to restore a tape using the codi::TapeReaderInterface in a new context. The writers are supported for both Jacobian and primal value tapes
C TemporaryMemory Allocator for temporary used memory
C TerminatingPointerStore
C ThreadInformationInterface Provides information on threads
C ThreadSafeGlobalAdjoints Provides global adjoint variables owned by a tape type. Thread-safe for use in parallel taping
C TraversalLogic Traversal of CoDiPack expressions
C UnaryExpression Represents an operator with one argument in the expression tree
C UnaryOperation Interface for implementing the logic for a UnaryExpression
C ValidationIndicator Helper class for statement validation
C VectorAccessInterface Unified access to the adjoint vector and primal vector in a tape evaluation
C Warning
C WriteInfo This class is used during the writing process of a primal value tape. The WriteInfo is returned by codi::PrimalValueBaseTape::statementGetWriteInformation method
► N std
C codi_numeric_limits Specialization of std::numeric_limits for the default CoDiPack active types
C numeric_limits< codi::ActiveType< Tape > > Specialization of std::numeric_limits for CoDiPack active types
C numeric_limits< codi::ActiveTypeStatelessTape< Tape > > Specialization of std::numeric_limits for no tape CoDiPack active types
C numeric_limits< codi::ParallelActiveType< Tape, ParallelToolbox > > Specialization of std::numeric_limits for parallel CoDiPack active types
C EigenSolver [Function]
C LowLevelFunction Indicator for generator