37 urand(0.0, 1.0),
n(5), tol_a(1.0e-15), tol_r(1.0e-14) {}
40 double absolute_tolerance,
41 double relative_tolerance) :
44 tol_a(absolute_tolerance),
45 tol_r(relative_tolerance) {}
62 for (
int i=0; i<
n; i++) {
65 a_ls.fastAccessDx(i) = 1;
69 b_ls.fastAccessDx(i) = 1;
79 CPPUNIT_ASSERT(x_dfad.size() == x_ls.size());
82 CPPUNIT_ASSERT(x_dfad.hasFastAccess() == x_ls.hasFastAccess());
87 for (
int i=0; i<x_ls.size(); i++) {
93 compareDx(x_dfad.fastAccessDx(i), x_ls.fastAccessDx(i));
102 CPPUNIT_ASSERT( a == b );
106 CPPUNIT_ASSERT( (a && b) || !(a || b) );
116 for (
int i=0; i<
n; i++) {
122 for (
int i=0; i<
n; i++) {
130 for (
int i=0; i<
n; i++) {
136 for (
int i=0; i<
n; i++) {
144 for (
int i=0; i<
n; i++) {
152 for (
int i=0; i<
n; i++) {
158 for (
int i=0; i<
n; i++) {
164 val =
a_ls.val() + 1;
167 for (
int i=0; i<
n; i++)
169 val =
a_ls.val() - 1;
172 for (
int i=0; i<
n; i++) {
176 val =
b_ls.val() + 1;
179 for (
int i=0; i<
n; i++)
181 val =
b_ls.val() - 1;
184 for (
int i=0; i<
n; i++) {
193 for (
int i=0; i<
n; i++) {
199 for (
int i=0; i<
n; i++) {
213 for (
int i=0; i<
n; i++) {
219 for (
int i=0; i<
n; i++) {
227 for (
int i=0; i<
n; i++) {
233 for (
int i=0; i<
n; i++) {
241 for (
int i=0; i<
n; i++) {
249 for (
int i=0; i<
n; i++) {
255 for (
int i=0; i<
n; i++) {
261 val =
a_ls.val() - 1;
264 for (
int i=0; i<
n; i++)
266 val =
a_ls.val() + 1;
269 for (
int i=0; i<
n; i++) {
273 val =
b_ls.val() - 1;
276 for (
int i=0; i<
n; i++)
278 val =
b_ls.val() + 1;
281 for (
int i=0; i<
n; i++) {
290 for (
int i=0; i<
n; i++) {
296 for (
int i=0; i<
n; i++) {
void compareDoubles(double a, double b)
void compareDx(double a, bool b)
LogicalSparseOpsUnitTest()
Sacado::Fad::DFad< double > DFadType
void compareBools(bool a, bool b)
ScalarT number()
Get random number.
CPPUNIT_TEST_SUITE_REGISTRATION(DFadDoubleTest)
SimpleFad< ValueT > min(const SimpleFad< ValueT > &a, const SimpleFad< ValueT > &b)
SimpleFad< ValueT > max(const SimpleFad< ValueT > &a, const SimpleFad< ValueT > &b)
Sacado::LFad::LogicalSparse< double, bool > LSType
Sacado::Random< double > urand
void compareFads(const DFadType &x_dfad, const LSType &x_ls)