00001 # ifndef CPPAD_TEST_VECTOR_INCLUDED 00002 # define CPPAD_TEST_VECTOR_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 /* 00016 $begin test_vector$$ 00017 $spell 00018 CppADvector 00019 hpp 00020 std 00021 endif 00022 ublas 00023 Dir 00024 valarray 00025 stdvector 00026 $$ 00027 00028 $index CPPAD_TEST_VECTOR$$ 00029 $index vector, test$$ 00030 $index test, vector$$ 00031 00032 $section Choosing The Vector Testing Template Class$$ 00033 00034 $head Syntax$$ 00035 $syntax%CPPAD_TEST_VECTOR<%Scalar%> 00036 %$$ 00037 00038 $head Introduction$$ 00039 Many of the CppAD $xref/example//examples/$$ and tests use 00040 the $code CPPAD_TEST_VECTOR$$ template class to pass information. 00041 The default definition for this template class is 00042 $xref/CppAD_vector//CppAD::vector/$$. 00043 00044 $head CppAD::vector$$ 00045 By default $code CPPAD_CPPADVECTOR$$ is true 00046 and $code CPPAD_TEST_VECTOR$$ is defined by the following source code 00047 $codep */ 00048 // The next line is C++ source code and its replacement is discussed below 00049 # if CPPAD_CPPADVECTOR 00050 # define CPPAD_TEST_VECTOR CppAD::vector 00051 # endif 00052 /* $$ 00053 You can replace this definition of the preprocessor symbol 00054 $code CPPAD_TEST_VECTOR$$ by any other $xref/SimpleVector/$$ template class. 00055 This will test using your replacement template vector class with CppAD. 00056 00057 $head std::vector$$ 00058 If you specify $code --with-stdvector$$ on the 00059 $cref/configure/InstallUnix/Configure/$$ 00060 command line during CppAD installation, 00061 $code CPPAD_STDVECTOR$$ is true 00062 and $code CPPAD_TEST_VECTOR$$ is defined by the following source code 00063 $code CPPAD_TEST_VECTOR$$ 00064 $codep */ 00065 # if CPPAD_STDVECTOR 00066 # include <vector> 00067 # define CPPAD_TEST_VECTOR std::vector 00068 # endif 00069 /* $$ 00070 In this case CppAD will use $code std::vector$$ for its examples and tests. 00071 Use of $code CppAD::vector$$, $code std::vector$$, 00072 and $code std::valarray$$ with CppAD is always tested to some degree. 00073 Specifying $code --with-stdvector$$ will increase the amount of 00074 $code std::vector$$ testing. 00075 00076 $head boost::numeric::ublas::vector$$ 00077 If you specify a value for $italic BoostDir$$ on the configure 00078 command line during CppAD installation, 00079 $code CPPAD_BOOSTVECTOR$$ is true 00080 and $code CPPAD_TEST_VECTOR$$ is defined by the following source code 00081 $codep */ 00082 # if CPPAD_BOOSTVECTOR 00083 # include <boost/numeric/ublas/vector.hpp> 00084 # define CPPAD_TEST_VECTOR boost::numeric::ublas::vector 00085 # endif 00086 /* $$ 00087 In this case CppAD will use Ublas vectors for its examples and tests. 00088 Use of $code CppAD::vector$$, $code std::vector$$, 00089 and $code std::valarray$$ with CppAD is always tested to some degree. 00090 Specifying $italic BoostDir$$ will increase the amount of 00091 Ublas vector testing. 00092 00093 $head Deprecated$$ 00094 $index CppADvector, deprecated$$ 00095 $index deprecated, CppADvector$$ 00096 The preprocessor symbol $code CppADvector$$ is defined to 00097 have the same value as $code CPPAD_TEST_VECTOR$$ but its use is deprecated 00098 $codep */ 00099 # define CppADvector CPPAD_TEST_VECTOR 00100 /* $$ 00101 $end 00102 ------------------------------------------------------------------------ 00103 */ 00104 00105 # endif