CppAD: A C++ Algorithmic Differentiation Package
20130918
|
00001 /* $Id$ */ 00002 # ifndef CPPAD_CPPAD_INCLUDED 00003 # define CPPAD_CPPAD_INCLUDED 00004 /* -------------------------------------------------------------------------- 00005 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-14 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 \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/base_require.hpp> // all base type requirements 00023 // --------------------------------------------------------------------------- 00024 // CppAD general purpose library routines (can be included separately) 00025 00026 # include <cppad/check_numeric_type.hpp> 00027 # include <cppad/check_simple_vector.hpp> 00028 # include <cppad/index_sort.hpp> 00029 # include <cppad/local/cppad_assert.hpp> 00030 # include <cppad/lu_solve.hpp> 00031 # include <cppad/memory_leak.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/omp_alloc.hpp> 00037 # include <cppad/poly.hpp> 00038 # include <cppad/pow_int.hpp> 00039 # include <cppad/romberg_mul.hpp> 00040 # include <cppad/romberg_one.hpp> 00041 # include <cppad/rosen_34.hpp> 00042 # include <cppad/runge_45.hpp> 00043 # include <cppad/speed_test.hpp> 00044 # include <cppad/time_test.hpp> 00045 # include <cppad/track_new_del.hpp> 00046 # include <cppad/thread_alloc.hpp> 00047 # include <cppad/vector.hpp> 00048 00049 // -------------------------------------------------------------------------- 00050 // System routines that can be used by rest of CppAD with out including 00051 00052 # include <cstddef> 00053 # include <iostream> 00054 # include <complex> 00055 # include <cmath> 00056 00057 // --------------------------------------------------------------------------- 00058 // definitions needed by rest of includes 00059 00060 // definitions that come from the installation 00061 # include <cppad/configure.hpp> 00062 00063 // definitions that are local to the CppAD include files 00064 # include <cppad/local/define.hpp> 00065 00066 // vectors used with CppAD 00067 # include <cppad/local/testvector.hpp> 00068 00069 // deprecated vectors used with CppAD 00070 # include <cppad/local/test_vector.hpp> 00071 00072 // Declare classes and fucntions that are used before defined 00073 # include <cppad/local/declare_ad.hpp> 00074 00075 // --------------------------------------------------------------------------- 00076 // declare the AD<Base> template class 00077 00078 # include <cppad/local/ad.hpp> 00079 00080 // --------------------------------------------------------------------------- 00081 00082 # include <cppad/local/user_ad.hpp> // AD class methods available to the user 00083 // tape that tape for AD<Base> acts as a user of Base operations 00084 // so user_ad.hpp must come before op.hpp 00085 # include <cppad/local/op.hpp> // executes taped operations 00086 # include <cppad/local/ad_fun.hpp> // ADFun objects 00087 00088 // --------------------------------------------------------------------------- 00089 // library routines that require the rest of CppAD 00090 # include <cppad/local/lu_ratio.hpp> 00091 # include <cppad/local/bender_quad.hpp> 00092 # include <cppad/local/opt_val_hes.hpp> 00093 00094 // undo definitions in Define.h 00095 # include <cppad/local/undef.hpp> 00096 00097 # endif