source: trunk/test_more/compare.cpp @ 3008

Last change on this file since 3008 was 2506, checked in by bradbell, 7 years ago

Change Licenses: CPL-1.0 -> EPL-1.0, GPL-2.0->GPL-3.0

  • Property svn:keywords set to Id
File size: 2.0 KB
Line 
1/* $Id: compare.cpp 2506 2012-10-24 19:36:49Z bradbell $ */
2/* --------------------------------------------------------------------------
3CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-06 Bradley M. Bell
4
5CppAD is distributed under multiple licenses. This distribution is under
6the terms of the
7                    Eclipse Public License Version 1.0.
8
9A copy of this license is included in the COPYING file of this distribution.
10Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
11-------------------------------------------------------------------------- */
12
13/*
14Check comparison operators between AD< AD<Base> > and Base, int
15*/
16# include <cppad/cppad.hpp>
17
18namespace { 
19        template <class Type>
20        bool Compare(void)
21        {       bool ok = true;
22                using CppAD::AD;
23       
24                Type      middle = 4;
25                AD<double> three = 3;
26                AD<double> four  = 4;
27                AD<double> five  = 5;
28       
29                // AD<double> > Type
30                ok &= ! (three  >  middle);   
31                ok &= ! (four   >  middle);   
32                ok &=   (five   >  middle);   
33                // Type > AD<double>
34                ok &=   (middle >  three );   
35                ok &= ! (middle >  four  );   
36                ok &= ! (middle >  five  );   
37       
38                // AD<double> >= Type
39                ok &= ! (three  >= middle);   
40                ok &=   (four   >= middle);   
41                ok &=   (five   >= middle);   
42                // Type > AD<double>
43                ok &=   (middle >= three );   
44                ok &=   (middle >= four  );   
45                ok &= ! (middle >= five  );   
46       
47                // AD<double> < Type
48                ok &=   (three  <  middle);   
49                ok &= ! (four   <  middle);   
50                ok &= ! (five   <  middle);   
51                // Type > AD<double>
52                ok &= ! (middle <  three );   
53                ok &= ! (middle <  four  );   
54                ok &=   (middle <  five  );   
55       
56                // AD<double> <= Type
57                ok &=   (three  <= middle);   
58                ok &=   (four   <= middle);   
59                ok &= ! (five   <= middle);   
60                // Type > AD<double>
61                ok &= ! (middle <= three );   
62                ok &=   (middle <= four  );   
63                ok &=   (middle <= five  );   
64       
65                return ok;
66        }
67}
68bool Compare(void)
69{       bool ok = true;
70        ok     &= Compare<int>();
71        ok     &= Compare<double>();
72        ok     &= Compare< CppAD::AD<double> >();
73        return ok;
74}
Note: See TracBrowser for help on using the repository browser.