1/* --------------------------------------------------------------------------
2CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-20 Bradley M. Bell
3
4  CppAD is distributed under the terms of the
5               Eclipse Public License Version 2.0.
6
7  This Source Code may also be made available under the following
8  Secondary License when the conditions for such availability set forth
9  in the Eclipse Public License, Version 2.0 are satisfied:
10        GNU General Public License, Version 2.0 or later.
11-------------------------------------------------------------------------- */
12
13$begin speed_cppadcg$$
14$spell
15    cmake
16    CppadcgDir
17    CppAD
18    Cygwin
19    onetape
20$$
21
22
23$section Speed Test Derivatives Using Cppadcg$$
24
25$head Purpose$$
26CppAD has a set of speed tests that are used to compare
27Cppadcg with other AD packages.
28This section links to the source code the Cppadcg speed tests
29(any suggestions to make the Cppadcg results faster are welcome).
30
31$head Building Tests$$
32Starting in the
33$cref/build directory/cmake/Build Directory/$$,
34execute the following commands
35$codei%
36    cd build/speed/cppadcg
37    ./speed_cppadcg %test% %seed% %option_list%
38%$$
39A message saying that the sizes are incorrect will be printed.
40In addition, it will say that source code with the correct sizes
41has been created.
42If you then execute
43$codei%
44    make check_speed_cppadcg VERBOSE=1
45%%$$
46It will build $code speed_cppadcg$$ with the proper sizes and
47run its correctness tests.
48
49
50$head Running Tests$$
51You can then run the corresponding speed tests
52with the either of the following commands:
53$codei%
54    ./speed_cppadcg speed %seed% onetape
55    ./speed_cppadcg speed %seed% onetape optimize
56%$$
57where $icode seed$$ is a positive integer.
58See $cref speed_main$$ for more options.
59
60$contents%
61    speed/cppadcg/det_minor.cpp%
62    speed/cppadcg/det_lu.cpp%
63    speed/cppadcg/mat_mul.cpp%
64    speed/cppadcg/ode.cpp%
65    speed/cppadcg/poly.cpp%
66    speed/cppadcg/sparse_hessian.cpp%
67    speed/cppadcg/sparse_jacobian.cpp
68%$$
69
70$end
71