FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
test_utils
test_PointBlockMap.cpp
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#include <fei_iostream.hpp>
10
11
#include <test_utils/test_PointBlockMap.hpp>
12
#include <snl_fei_PointBlockMap.hpp>
13
14
#undef fei_file
15
#define fei_file "test_PointBlockMap.cpp"
16
#include <fei_ErrMacros.hpp>
17
18
test_PointBlockMap::test_PointBlockMap(MPI_Comm comm)
19
:
tester
(comm)
20
{
21
}
22
23
test_PointBlockMap::~test_PointBlockMap()
24
{
25
}
26
27
int
test_PointBlockMap::runtests()
28
{
29
CHK_ERR( test1() );
30
CHK_ERR( test2() );
31
CHK_ERR( test3() );
32
CHK_ERR( test4() );
33
return
(0);
34
}
35
36
int
test_PointBlockMap::test1()
37
{
38
snl_fei::PointBlockMap pbMap;
39
40
CHK_ERR( pbMap.
setEqn
(0, 0) );
41
CHK_ERR( pbMap.
setEqn
(1, 0) );
42
CHK_ERR( pbMap.
setEqn
(2, 0) );
43
CHK_ERR( pbMap.
setEqn
(3, 1) );
44
CHK_ERR( pbMap.
setEqn
(4, 1) );
45
CHK_ERR( pbMap.
setEqn
(5, 2) );
46
47
CHK_ERR( pbMap.
setBlkEqnSize
(0, 3) );
48
CHK_ERR( pbMap.
setBlkEqnSize
(1, 2) );
49
CHK_ERR( pbMap.
setBlkEqnSize
(2, 1) );
50
51
int
blkEqnOffset = pbMap.
getBlkEqnOffset
(1,3);
52
if
(blkEqnOffset != 0) {
53
ERReturn(-1);
54
}
55
56
int
size = pbMap.
getBlkEqnSize
(1);
57
if
(size != 2) {
58
ERReturn(-1);
59
}
60
61
int
blkSize, ptEqn;
62
CHK_ERR( pbMap.
getBlkEqnInfo
(1, ptEqn, blkSize) );
63
if
(ptEqn != 3) {
64
ERReturn(-1);
65
}
66
if
(blkSize != 2) {
67
ERReturn(-1);
68
}
69
70
int
blkEqn = pbMap.
eqnToBlkEqn
(4);
71
if
(blkEqn != 1) {
72
ERReturn(-1);
73
}
74
75
if
(pbMap.
isExactlyBlkEqn
(4)) {
76
ERReturn(-1);
77
}
78
79
int
blkOffset;
80
CHK_ERR( pbMap.
getPtEqnInfo
(4, blkEqn, blkOffset) );
81
if
(blkEqn != 1) {
82
ERReturn(-1);
83
}
84
85
if
(blkOffset != 1) {
86
ERReturn(-1);
87
}
88
89
if
(!pbMap.
isExactlyBlkEqn
(3)) {
90
ERReturn(-1);
91
}
92
93
int
maxBlkSize = pbMap.
getMaxBlkEqnSize
();
94
if
(maxBlkSize == 0) {
95
ERReturn(-1);
96
}
97
98
return
(0);
99
}
100
101
int
test_PointBlockMap::test2()
102
{
103
snl_fei::PointBlockMap pbMap;
104
105
CHK_ERR( pbMap.
setEqn
(0, 0) );
106
CHK_ERR( pbMap.
setEqn
(1, 0) );
107
CHK_ERR( pbMap.
setEqn
(2, 0) );
108
CHK_ERR( pbMap.
setEqn
(3, 1) );
109
CHK_ERR( pbMap.
setEqn
(4, 1) );
110
CHK_ERR( pbMap.
setEqn
(5, 2) );
111
112
CHK_ERR( pbMap.
setBlkEqnSize
(0, 3) );
113
CHK_ERR( pbMap.
setBlkEqnSize
(1, 2) );
114
CHK_ERR( pbMap.
setBlkEqnSize
(2, 1) );
115
116
std::map<int,std::pair<int,int> >* blkEqns = pbMap.
getBlkEqns
();
117
118
std::map<int,std::pair<int,int> >::const_iterator
119
iter = blkEqns->begin(),
120
iter_end = blkEqns->end();
121
122
for
(; iter != iter_end; ++iter) {
123
if
((*iter).first < 0) {
124
CHK_ERR( -1 );
125
}
126
}
127
128
return
(0);
129
}
130
131
int
test_PointBlockMap::test3()
132
{
133
return
(0);
134
}
135
136
int
test_PointBlockMap::test4()
137
{
138
return
(0);
139
}
snl_fei::PointBlockMap::setEqn
int setEqn(int ptEqn, int blkEqn)
Definition
snl_fei_PointBlockMap.cpp:42
snl_fei::PointBlockMap::getBlkEqnInfo
int getBlkEqnInfo(int blkEqn, int &ptEqn, int &blkSize)
Definition
snl_fei_PointBlockMap.cpp:148
snl_fei::PointBlockMap::getPtEqnInfo
int getPtEqnInfo(int ptEqn, int &blkEqn, int &blkOffset)
Definition
snl_fei_PointBlockMap.cpp:169
snl_fei::PointBlockMap::eqnToBlkEqn
int eqnToBlkEqn(int eqn) const
Definition
snl_fei_PointBlockMap.cpp:121
snl_fei::PointBlockMap::getMaxBlkEqnSize
int getMaxBlkEqnSize()
Definition
snl_fei_PointBlockMap.hpp:68
snl_fei::PointBlockMap::getBlkEqnSize
int getBlkEqnSize(int blkEqn)
Definition
snl_fei_PointBlockMap.cpp:106
snl_fei::PointBlockMap::setBlkEqnSize
int setBlkEqnSize(int blkEqn, int size)
Definition
snl_fei_PointBlockMap.cpp:85
snl_fei::PointBlockMap::getBlkEqns
std::map< int, std::pair< int, int > > * getBlkEqns()
Definition
snl_fei_PointBlockMap.hpp:122
snl_fei::PointBlockMap::isExactlyBlkEqn
bool isExactlyBlkEqn(int ptEqn)
Definition
snl_fei_PointBlockMap.cpp:210
snl_fei::PointBlockMap::getBlkEqnOffset
int getBlkEqnOffset(int blkEqn, int ptEqn)
Definition
snl_fei_PointBlockMap.cpp:198
tester
Definition
tester.hpp:22
Generated by
1.17.0