CppAD: A C++ Algorithmic Differentiation Package
20130102
|
00001 /* $Id$ */ 00002 # ifndef CPPAD_CPPAD_INCLUDED 00003 # define CPPAD_CPPAD_INCLUDED 00004 /* -------------------------------------------------------------------------- 00005 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-12 Bradley M. Bell 00006 00007 CppAD is distributed under multiple licenses. This distribution is under 00008 the terms of the 00009 Eclipse 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 \defgroup cppad_hpp cppad.hpp 00016 \{ 00017 \file cppad.hpp 00018 \brief includes the entire CppAD package in the necessary order. 00019 00020 \namespace CppAD 00021 \brief contains all the variables and functions defined by the CppAD package. 00022 */ 00023 00024 # include <cppad/base_require.hpp> // all base type requirements 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/index_sort.hpp> 00031 # include <cppad/local/cppad_assert.hpp> 00032 # include <cppad/lu_solve.hpp> 00033 # include <cppad/memory_leak.hpp> 00034 # include <cppad/near_equal.hpp> 00035 # include <cppad/ode_err_control.hpp> 00036 # include <cppad/ode_gear.hpp> 00037 # include <cppad/ode_gear_control.hpp> 00038 # include <cppad/omp_alloc.hpp> 00039 # include <cppad/poly.hpp> 00040 # include <cppad/pow_int.hpp> 00041 # include <cppad/romberg_mul.hpp> 00042 # include <cppad/romberg_one.hpp> 00043 # include <cppad/rosen_34.hpp> 00044 # include <cppad/runge_45.hpp> 00045 # include <cppad/speed_test.hpp> 00046 # include <cppad/time_test.hpp> 00047 # include <cppad/track_new_del.hpp> 00048 # include <cppad/thread_alloc.hpp> 00049 # include <cppad/vector.hpp> 00050 00051 // -------------------------------------------------------------------------- 00052 // System routines that can be used by rest of CppAD with out including 00053 00054 # include <cstddef> 00055 # include <iostream> 00056 # include <complex> 00057 # include <cmath> 00058 00059 // --------------------------------------------------------------------------- 00060 // definitions needed by rest of includes 00061 00062 // definitions that come from the installation 00063 # include <cppad/configure.hpp> 00064 00065 // definitions that are local to the CppAD include files 00066 # include <cppad/local/define.hpp> 00067 00068 // vectors used with CppAD 00069 # include <cppad/local/testvector.hpp> 00070 00071 // deprecated vectors used with CppAD 00072 # include <cppad/local/test_vector.hpp> 00073 00074 // Declare classes and fucntions that are used before defined 00075 # include <cppad/local/declare_ad.hpp> 00076 00077 // --------------------------------------------------------------------------- 00078 // declare the AD<Base> template class 00079 00080 # include <cppad/local/ad.hpp> 00081 00082 // --------------------------------------------------------------------------- 00083 00084 # include <cppad/local/user_ad.hpp> // AD class methods available to the user 00085 // tape that tape for AD<Base> acts as a user of Base operations 00086 // so user_ad.hpp must come before op.hpp 00087 # include <cppad/local/op.hpp> // executes taped operations 00088 # include <cppad/local/ad_fun.hpp> // ADFun objects 00089 00090 // --------------------------------------------------------------------------- 00091 // library routines that require the rest of CppAD 00092 # include <cppad/local/lu_ratio.hpp> 00093 # include <cppad/local/bender_quad.hpp> 00094 # include <cppad/local/opt_val_hes.hpp> 00095 00096 // undo definitions in Define.h 00097 # include <cppad/local/undef.hpp> 00098 00099 /*! \} */ 00100 # endif