CppAD: A C++ Algorithmic Differentiation Package 20110419
|
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