source: trunk/example/general/general.cpp @ 3928

Last change on this file since 3928 was 3928, checked in by bradbell, 2 years ago

merge to branch: trunk
from repository: https://github.com/coin-or/CppAD
start hash code: c326e13e2a7554ceb73e05e6af6b7c9fac4a2b4d
end hash code: 50e67821490174a876874dae9dbfa83365212e2d

commit 50e67821490174a876874dae9dbfa83365212e2d
Author: Brad Bell <bradbell@…>
Date: Wed May 17 09:52:27 2017 -0700

  1. Move example/*.cpp -> example/general/*.cpp.
  2. Make example/CMakeLists.txt control debug/release for all subdirectories.
  3. Advanmce to cppad-20170517.
File size: 9.3 KB
Line 
1/* --------------------------------------------------------------------------
2CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-17 Bradley M. Bell
3
4CppAD is distributed under multiple licenses. This distribution is under
5the terms of the
6                    Eclipse Public License Version 1.0.
7
8A copy of this license is included in the COPYING file of this distribution.
9Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
10-------------------------------------------------------------------------- */
11
12/*
13$begin general.cpp$$
14$spell
15        Cpp
16$$
17
18$section CppAD Examples and Tests$$
19
20$head Running Tests$$
21To build this program and run its correctness tests see $cref cmake_check$$.
22
23$code
24$srcfile%example/general/general.cpp%0%// BEGIN C++%// END C++%1%$$
25$$
26
27$end
28*/
29// BEGIN C++
30
31// CPPAD_HAS_* defines
32# include <cppad/configure.hpp>
33
34// system include files used for I/O
35# include <iostream>
36
37// C style asserts
38# include <cassert>
39
40// standard string
41# include <string>
42
43// memory utility
44# include <cppad/utility/thread_alloc.hpp>
45
46// test runner
47# include <cppad/utility/test_boolofvoid.hpp>
48
49// prototype external compiled tests (this line expected by bin/new_test.sh)
50extern bool abort_recording(void);
51extern bool fabs(void);
52extern bool acosh(void);
53extern bool acos(void);
54extern bool ad_assign(void);
55extern bool ad_ctor(void);
56extern bool AddEq(void);
57extern bool Add(void);
58extern bool ad_fun(void);
59extern bool ad_in_c(void);
60extern bool ad_input(void);
61extern bool ad_output(void);
62extern bool asinh(void);
63extern bool asin(void);
64extern bool atan2(void);
65extern bool atanh(void);
66extern bool atan(void);
67extern bool azmul(void);
68extern bool base_require(void);
69extern bool BenderQuad(void);
70extern bool BoolFun(void);
71extern bool capacity_order(void);
72extern bool change_param(void);
73extern bool check_for_nan(void);
74extern bool compare_change(void);
75extern bool Compare(void);
76extern bool complex_poly(void);
77extern bool CondExp(void);
78extern bool Cosh(void);
79extern bool Cos(void);
80extern bool DivEq(void);
81extern bool Div(void);
82extern bool eigen_array(void);
83extern bool eigen_det(void);
84extern bool EqualOpSeq(void);
85extern bool Erf(void);
86extern bool expm1(void);
87extern bool exp(void);
88extern bool ForOne(void);
89extern bool ForTwo(void);
90extern bool forward_dir(void);
91extern bool forward_order(void);
92extern bool Forward(void);
93extern bool fun_assign(void);
94extern bool FunCheck(void);
95extern bool HesLagrangian(void);
96extern bool HesLuDet(void);
97extern bool HesMinorDet(void);
98extern bool Hessian(void);
99extern bool HesTimesDir(void);
100extern bool Independent(void);
101extern bool Integer(void);
102extern bool Interface2C(void);
103extern bool interp_onetape(void);
104extern bool interp_retape(void);
105extern bool JacLuDet(void);
106extern bool JacMinorDet(void);
107extern bool Jacobian(void);
108extern bool log10(void);
109extern bool log1p(void);
110extern bool log(void);
111extern bool LuRatio(void);
112extern bool LuVecADOk(void);
113extern bool MulEq(void);
114extern bool mul_level_adolc_ode(void);
115extern bool mul_level_adolc(void);
116extern bool mul_level_ode(void);
117extern bool mul_level(void);
118extern bool Mul(void);
119extern bool NearEqualExt(void);
120extern bool number_skip(void);
121extern bool NumericType(void);
122extern bool num_limits(void);
123extern bool OdeStiff(void);
124extern bool ode_taylor(void);
125extern bool opt_val_hes(void);
126extern bool ParVar(void);
127extern bool Poly(void);
128extern bool pow_int(void);
129extern bool pow(void);
130extern bool print_for(void);
131extern bool reverse_any(void);
132extern bool reverse_one(void);
133extern bool reverse_three(void);
134extern bool reverse_two(void);
135extern bool RevOne(void);
136extern bool RevTwo(void);
137extern bool Rosen34(void);
138extern bool runge_45_2(void);
139extern bool seq_property(void);
140extern bool sign(void);
141extern bool Sinh(void);
142extern bool Sin(void);
143extern bool Sqrt(void);
144extern bool StackMachine(void);
145extern bool SubEq(void);
146extern bool Sub(void);
147extern bool Tanh(void);
148extern bool Tan(void);
149extern bool TapeIndex(void);
150extern bool UnaryMinus(void);
151extern bool UnaryPlus(void);
152extern bool Value(void);
153extern bool Var2Par(void);
154extern bool vec_ad(void);
155
156// main program that runs all the tests
157int main(void)
158{       std::string group = "example/general";
159        size_t      width = 20;
160        CppAD::test_boolofvoid Run(group, width);
161
162        // This line is used by test_one.sh
163
164        // run external compiled tests (this line expected by bin/new_test.sh)
165        Run( abort_recording,   "abort_recording"  );
166        Run( fabs,              "fabs"             );
167        Run( acos,              "acos"             );
168        Run( acosh,             "acosh"            );
169        Run( ad_assign,         "ad_assign"        );
170        Run( ad_ctor,           "ad_ctor"          );
171        Run( Add,               "Add"              );
172        Run( AddEq,             "AddEq"            );
173        Run( ad_fun,            "ad_fun"           );
174        Run( ad_in_c,           "ad_in_c"          );
175        Run( ad_input,          "ad_input"         );
176        Run( ad_output,         "ad_output"        );
177        Run( asin,              "asin"             );
178        Run( asinh,             "asinh"            );
179        Run( atan2,             "atan2"            );
180        Run( atan,              "atan"             );
181        Run( atanh,             "atanh"            );
182        Run( azmul,             "azmul"            );
183        Run( BenderQuad,        "BenderQuad"       );
184        Run( BoolFun,           "BoolFun"          );
185        Run( capacity_order,    "capacity_order"   );
186        Run( change_param,      "change_param"     );
187        Run( check_for_nan,     "check_for_nan"    );
188        Run( compare_change,    "compare_change"   );
189        Run( Compare,           "Compare"          );
190        Run( complex_poly,      "complex_poly"     );
191        Run( CondExp,           "CondExp"          );
192        Run( Cos,               "Cos"              );
193        Run( Cosh,              "Cosh"             );
194        Run( Div,               "Div"              );
195        Run( DivEq,             "DivEq"            );
196        Run( EqualOpSeq,        "EqualOpSeq"       );
197        Run( Erf,               "Erf"              );
198        Run( exp,               "exp"              );
199        Run( expm1,             "expm1"            );
200        Run( ForOne,            "ForOne"           );
201        Run( ForTwo,            "ForTwo"           );
202        Run( forward_dir,       "forward_dir"      );
203        Run( Forward,           "Forward"          );
204        Run( forward_order,     "forward_order"    );
205        Run( fun_assign,        "fun_assign"       );
206        Run( FunCheck,          "FunCheck"         );
207        Run( HesLagrangian,     "HesLagrangian"    );
208        Run( HesLuDet,          "HesLuDet"         );
209        Run( HesMinorDet,       "HesMinorDet"      );
210        Run( Hessian,           "Hessian"          );
211        Run( HesTimesDir,       "HesTimesDir"      );
212        Run( Independent,       "Independent"      );
213        Run( Integer,           "Integer"          );
214        Run( Interface2C,       "Interface2C"      );
215        Run( interp_onetape,    "interp_onetape"   );
216        Run( interp_retape,     "interp_retape"    );
217        Run( JacLuDet,          "JacLuDet"         );
218        Run( JacMinorDet,       "JacMinorDet"      );
219        Run( Jacobian,          "Jacobian"         );
220        Run( log10,             "log10"            );
221        Run( log1p,             "log1p"            );
222        Run( log,               "log"              );
223        Run( LuRatio,           "LuRatio"          );
224        Run( LuVecADOk,         "LuVecADOk"        );
225        Run( MulEq,             "MulEq"            );
226        Run( mul_level,         "mul_level"        );
227        Run( mul_level_ode,     "mul_level_ode"    );
228        Run( Mul,               "Mul"              );
229        Run( NearEqualExt,      "NearEqualExt"     );
230        Run( number_skip,       "number_skip"      );
231        Run( NumericType,       "NumericType"      );
232        Run( num_limits,        "num_limits"       );
233        Run( OdeStiff,          "OdeStiff"         );
234        Run( ode_taylor,        "ode_taylor"       );
235        Run( opt_val_hes,       "opt_val_hes"      );
236        Run( ParVar,            "ParVar"           );
237        Run( Poly,              "Poly"             );
238        Run( pow_int,           "pow_int"          );
239        Run( pow,               "pow"              );
240        Run( reverse_any,       "reverse_any"      );
241        Run( reverse_one,       "reverse_one"      );
242        Run( reverse_three,     "reverse_three"    );
243        Run( reverse_two,       "reverse_two"      );
244        Run( RevOne,            "RevOne"           );
245        Run( RevTwo,            "RevTwo"           );
246        Run( Rosen34,           "Rosen34"          );
247        Run( runge_45_2,        "runge_45_2"       );
248        Run( seq_property,      "seq_property"     );
249        Run( sign,              "sign"             );
250        Run( Sinh,              "Sinh"             );
251        Run( Sin,               "Sin"              );
252        Run( Sqrt,              "Sqrt"             );
253        Run( StackMachine,      "StackMachine"     );
254        Run( SubEq,             "SubEq"            );
255        Run( Sub,               "Sub"              );
256        Run( Tanh,              "Tanh"             );
257        Run( Tan,               "Tan"              );
258        Run( TapeIndex,         "TapeIndex"        );
259        Run( UnaryMinus,        "UnaryMinus"       );
260        Run( UnaryPlus,         "UnaryPlus"        );
261        Run( Value,             "Value"            );
262        Run( Var2Par,           "Var2Par"          );
263        Run( vec_ad,            "vec_ad"           );
264# if CPPAD_HAS_ADOLC
265        Run( mul_level_adolc,      "mul_level_adolc"     );
266        Run( mul_level_adolc_ode,  "mul_level_adolc_ode" );
267# endif
268# if CPPAD_HAS_EIGEN
269        Run( eigen_array,       "eigen_array"      );
270        Run( eigen_det,         "eigen_det"        );
271# endif
272        //
273        // check for memory leak
274        bool memory_ok = CppAD::thread_alloc::free_all();
275        // print summary at end
276        bool ok = Run.summary(memory_ok);
277        //
278        return static_cast<int>( ! ok );
279}
280// END C++
Note: See TracBrowser for help on using the repository browser.