CppAD: A C++ Algorithmic Differentiation Package 20110419
cppad.hpp
Go to the documentation of this file.
00001 /* $Id$ */
00002 # ifndef CPPAD_CPPAD_INCLUDED
00003 # define CPPAD_CPPAD_INCLUDED
00004 /* --------------------------------------------------------------------------
00005 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-10 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 \file cppad.hpp
00016 \brief includes the entire CppAD package in the necessary order.
00017 
00018 \namespace CppAD
00019 \brief contains all the variables and functions defined by the CppAD package.
00020 */
00021 
00022 # include <cppad/declare.hpp>            // forward declarations need by user
00023 // ---------------------------------------------------------------------------
00024 # include <cppad/local/base_complex.hpp> // allow form complex Base types
00025 // ---------------------------------------------------------------------------
00026 // CppAD general purpose library routines (can be included separately)
00027 
00028 # include <cppad/check_numeric_type.hpp>
00029 # include <cppad/check_simple_vector.hpp>
00030 # include <cppad/local/cppad_assert.hpp>
00031 # include <cppad/lu_solve.hpp>
00032 # include <cppad/near_equal.hpp>
00033 # include <cppad/ode_err_control.hpp>
00034 # include <cppad/ode_gear.hpp>
00035 # include <cppad/ode_gear_control.hpp>
00036 # include <cppad/poly.hpp>
00037 # include <cppad/pow_int.hpp>
00038 # include <cppad/romberg_mul.hpp>
00039 # include <cppad/romberg_one.hpp>
00040 # include <cppad/rosen_34.hpp>
00041 # include <cppad/runge_45.hpp>
00042 # include <cppad/speed_test.hpp>
00043 # include <cppad/track_new_del.hpp>
00044 # include <cppad/vector.hpp>
00045 
00046 // --------------------------------------------------------------------------
00047 // System routines that can be used by rest of CppAD with out including 
00048 
00049 # include <cstddef>
00050 # include <iostream>
00051 # include <complex>
00052 # include <cmath>
00053 
00054 // ---------------------------------------------------------------------------
00055 // definitions needed by rest of includes
00056 
00057 // definitions that come from the installation
00058 # include <cppad/configure.hpp>
00059 
00060 // definitions that are local to the CppAD include files
00061 # include <cppad/local/define.hpp>
00062 
00063 // vectors used with CppAD
00064 # include <cppad/local/test_vector.hpp>
00065 
00066 // Declare classes and fucntions that are used before defined
00067 # include <cppad/local/declare_ad.hpp>
00068 
00069 // ---------------------------------------------------------------------------
00070 // declare the AD<Base> template class
00071 
00072 # include <cppad/local/ad.hpp>
00073 
00074 // ---------------------------------------------------------------------------
00075 
00076 # include <cppad/local/user_ad.hpp>  // AD class methods available to the user
00077 // tape that tape for AD<Base> acts as a user of Base operations
00078 // so user_ad.hpp must come before op.hpp
00079 # include <cppad/local/op.hpp>       // executes taped operations
00080 # include <cppad/local/ad_fun.hpp>   // ADFun objects
00081 
00082 // ---------------------------------------------------------------------------
00083 // library routines that require the rest of CppAD
00084 # include <cppad/local/lu_ratio.hpp>
00085 # include <cppad/local/bender_quad.hpp>
00086 # include <cppad/local/opt_val_hes.hpp>
00087 
00088 // undo definitions in Define.h
00089 # include <cppad/local/undef.hpp>   
00090 
00091 # endif