► N codi CoDiPack - Code Differentiation Package.
► 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 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 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 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 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 CommonTapeImplementation Implementation of all common tape functionality
C CommonTapeTypes Declares all types used in the CommonTapeImplementation
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
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 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 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 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 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 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 OperationAdd BinaryOperation implementation for operator +
C OperationAsin UnaryOperation implementation for asin
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 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 PrimalEvaluationTapeInterface Perform a primal reevaluation of the tape
C PrimalTapeStatementFunctions Data required for all possible handle calls
► 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 PushIdentfierPassiveAndConstant 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 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 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 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 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
► 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