1#ifndef CPPAD_CG_DECLARE_CG_INCLUDED
2#define CPPAD_CG_DECLARE_CG_INCLUDED
27template<
class Base,
class RecBase>
36class BaseAbstractAtomicFun;
39class CGAbstractAtomicFun;
54class CodeHandlerVectorSync;
56template<
class Base,
class T>
57class CodeHandlerVector;
63struct OperationPathNode;
72class ScopePathElement;
81class IndexOperationNode;
84class IndexAssignOperationNode;
87class LoopStartOperationNode;
90class LoopEndOperationNode;
99class DependentPatternMatcher;
165#if CPPAD_CG_SYSTEM_LINUX
167class LinuxDynamicLibModel;
170class LinuxDynamicLib;
182template<
class ScalarIn,
class ScalarOut,
class ActiveOut>
195template<
class Key,
class Value>
202inline void print(
const Base& v);
204template<
class Key,
class Value>
205inline void print(
const std::map<Key, Value>& m);
208inline void print(
const std::set<Base>& s);
211inline void print(
const std::set<Base*>& s);
214inline void print(
const std::vector<Base>& v);
253bool operator!=(
const CG<Base>& left,
double right);
256bool operator==(
const CG<Base>& left,
const Base& right);
259bool operator==(
const Base& left,
const CG<Base>& right);
262bool operator!=(
const CG<Base>& left, Base right);
265bool operator!=(
const Base& left,
const CG<Base>& right);
272inline std::ostream& operator<<(std::ostream& os,
const Enode<Base>& i);
275inline std::ostream& operator<<(std::ostream& os,
const Vnode<Base>& j);
284enum class Verbosity {
291enum class JacobianADMode {
292 Forward, Reverse, Automatic
298enum class IndexPatternType {
358bool NearEqual(
const Base& x,
const cg::CG<Base>& y,
const Base& r,
const Base& a);
361bool NearEqual(
const cg::CG<Base>& x,
const Base& y,
const Base& r,
const Base& a);
373 bool (*compare)(
const Base&,
const Base&));
444#if CPPAD_USE_CPLUSPLUS_2011
482#include <cppad/cg/declare_cg_loops.hpp>
bool GreaterThanZero(const cg::CG< Base > &x)
bool IdenticalOne(const cg::CG< Base > &x)
bool IdenticalZero(const cg::CG< Base > &x)
cg::CG< Base > sign(const cg::CG< Base > &x)
cg::CG< Base > pow(const cg::CG< Base > &x, const cg::CG< Base > &y)
bool IdenticalPar(const cg::CG< Base > &x)
cg::CG< Base > CondExp(cg::CGOpCode op, const cg::CG< Base > &left, const cg::CG< Base > &right, const cg::CG< Base > &trueCase, const cg::CG< Base > &falseCase, bool(*compare)(const Base &, const Base &))