/home/coin/SVN-release/CoinAll-1.1.0/cppad/cppad/local/declare.hpp

Go to the documentation of this file.
00001 # ifndef CPPAD_DECLARE_INCLUDED
00002 # define CPPAD_DECLARE_INCLUDED
00003 
00004 /* --------------------------------------------------------------------------
00005 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-07 Bradley M. Bell
00006 
00007 CppAD is distributed under multiple licenses. This distribution is under
00008 the terms of the 
00009                     Common Public License Version 1.0.
00010 
00011 A copy of this license is included in the COPYING file of this distribution.
00012 Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
00013 -------------------------------------------------------------------------- */
00014 
00015 namespace CppAD {
00016         // classes
00017         template <class Base> class AD;
00018         template <class Base> class ADFun;
00019         template <class Base> class ADTape;
00020         template <class Base> class VecAD;
00021         template <class Base> class TapeRec;
00022         template <class Base> class VecAD_reference;
00023         template <class Base> class ADDiscrete;
00024 
00025         // functions with one VecAD<Base> argument
00026         template <class Base> bool Parameter         (const VecAD<Base> &u);
00027         template <class Base> bool Variable          (const VecAD<Base> &u);
00028         
00029         // functions with one AD<Base> argument
00030         template <class Base> int  Integer           (const AD<Base> &u);
00031         template <class Base> bool Parameter         (const AD<Base> &u);
00032         template <class Base> bool Variable          (const AD<Base> &u);
00033         template <class Base> bool IdenticalZero     (const AD<Base> &u);
00034         template <class Base> bool IdenticalOne      (const AD<Base> &u);
00035         template <class Base> bool IdenticalPar      (const AD<Base> &u);
00036         template <class Base> bool LessThanZero      (const AD<Base> &u);
00037         template <class Base> bool LessThanOrZero    (const AD<Base> &u);
00038         template <class Base> bool GreaterThanZero   (const AD<Base> &u);
00039         template <class Base> bool GreaterThanOrZero (const AD<Base> &u);
00040         template <class Base> AD<Base> Var2Par       (const AD<Base> &u);
00041 
00042         // NearEqual
00043         template <class Base> bool NearEqual(
00044         const AD<Base> &x, const AD<Base> &y, const Base &r, const Base &a);
00045 
00046         template <class Base> bool NearEqual(
00047         const Base &x, const AD<Base> &y, const Base &r, const Base &a);
00048 
00049         template <class Base> bool NearEqual(
00050         const AD<Base> &x, const Base &y, const Base &r, const Base &a);
00051         
00052         // CondExp
00053         enum CompareOp 
00054         {CompareLt, CompareLe, CompareEq, CompareGe, CompareGt, CompareNe};
00055 
00056         template <class Base> AD<Base> CondExpOp (
00057                 enum CompareOp         cop ,
00058                 const AD<Base>       &left , 
00059                 const AD<Base>      &right , 
00060                 const AD<Base>   &trueCase , 
00061                 const AD<Base>  &falseCase 
00062         );
00063         
00064         // IdenticalEqualPar
00065         template <class Base> 
00066         bool IdenticalEqualPar (const AD<Base> &u, const AD<Base> &v);
00067         
00068         // EqualOpSeq
00069         template <class Base> 
00070         bool EqualOpSeq (const AD<Base> &u, const AD<Base> &v);
00071         
00072         // PrintFor
00073         template <class Base>
00074         void PrintFor(const char *text, const AD<Base> &x);
00075 
00076         // Value
00077         template <class Base> Base Value(const AD<Base> &x);
00078 
00079         // Pow function
00080         template <class Base> AD<Base> pow
00081                 (const AD<Base> &x, const AD<Base> &y);
00082 
00083         // output operator
00084         template <class Base> std::ostream&
00085         operator << (std::ostream &os, const AD<Base> &x);
00086         template <class Base> std::ostream&
00087         operator << (std::ostream &os, const VecAD_reference<Base> &e);
00088         template <class Base> std::ostream&
00089         operator << (std::ostream &os, const VecAD<Base> &vec);
00090 }
00091 
00092 # endif

Generated on Sun Nov 14 14:06:33 2010 for Coin-All by  doxygen 1.4.7