@@ -9,185 +9,185 @@ using namespace mtr; // matar namespace
9
9
CArrayKokkos<double > return_CArrayKokkos (int dims, std::vector<int > sizes)
10
10
{
11
11
12
- CArrayKokkos<double > A;
13
-
14
- if (dims == 1 ){
15
- A = CArrayKokkos<double >(sizes[0 ], " A_1D_CArrayKokkos" );
16
- }
17
- else if (dims == 2 ){
18
- A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], " A_2D_CArrayKokkos" );
19
- }
20
- else if (dims == 3 ){
21
- A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], " A_3D_CArrayKokkos" );
22
- }
23
- else if (dims == 4 ){
24
- A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], " A_4D_CArrayKokkos" );
25
- }
26
- else if (dims == 5 ){
27
- A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], sizes[4 ], " A_5D_CArrayKokkos" );
28
- }
29
- else if (dims == 6 ){
30
- A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], sizes[4 ], sizes[5 ], " A_7D_CArrayKokkos" );
31
- }
32
- else if (dims == 7 ){
33
- A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], sizes[4 ], sizes[5 ], sizes[6 ], " A_7D_CArrayKokkos" );
34
- }
35
- else {
36
- std::cout<<" Dims must be between 1 and 7 for CArrayKokkos" << std::endl;
37
- }
38
- return A;
12
+ CArrayKokkos<double > A;
13
+
14
+ if (dims == 1 ){
15
+ A = CArrayKokkos<double >(sizes[0 ], " A_1D_CArrayKokkos" );
16
+ }
17
+ else if (dims == 2 ){
18
+ A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], " A_2D_CArrayKokkos" );
19
+ }
20
+ else if (dims == 3 ){
21
+ A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], " A_3D_CArrayKokkos" );
22
+ }
23
+ else if (dims == 4 ){
24
+ A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], " A_4D_CArrayKokkos" );
25
+ }
26
+ else if (dims == 5 ){
27
+ A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], sizes[4 ], " A_5D_CArrayKokkos" );
28
+ }
29
+ else if (dims == 6 ){
30
+ A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], sizes[4 ], sizes[5 ], " A_7D_CArrayKokkos" );
31
+ }
32
+ else if (dims == 7 ){
33
+ A = CArrayKokkos<double >(sizes[0 ], sizes[1 ], sizes[2 ], sizes[3 ], sizes[4 ], sizes[5 ], sizes[6 ], " A_7D_CArrayKokkos" );
34
+ }
35
+ else {
36
+ std::cout<<" Dims must be between 1 and 7 for CArrayKokkos" << std::endl;
37
+ }
38
+ return A;
39
39
}
40
40
41
41
// Test size function
42
42
TEST (Test_CArrayKokkos, size)
43
43
{
44
- std::vector<int > sizes; // Size of each dimension
45
- int val = 1 ; // Expected total length of data
44
+ std::vector<int > sizes; // Size of each dimension
45
+ int val = 1 ; // Expected total length of data
46
46
47
- for (int i = 0 ; i < 7 ; i++){
47
+ for (int i = 0 ; i < 7 ; i++){
48
48
49
- int dims = i+1 ;
49
+ int dims = i+1 ;
50
50
51
- sizes.push_back (dims*2 );
51
+ sizes.push_back (dims*2 );
52
52
53
- CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
54
- val*= dims*2 ;
53
+ CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
54
+ val*= dims*2 ;
55
55
56
- EXPECT_EQ (val, A.size ());
57
- }
56
+ EXPECT_EQ (val, A.size ());
57
+ }
58
58
}
59
59
60
60
61
61
// Test extent function
62
62
TEST (Test_CArrayKokkos, extent)
63
63
{
64
- std::vector<int > sizes; // Size of each dimension
65
- int val = 1 ; // Expected total length of data
64
+ std::vector<int > sizes; // Size of each dimension
65
+ int val = 1 ; // Expected total length of data
66
66
67
- for (int i = 0 ; i < 7 ; i++){
67
+ for (int i = 0 ; i < 7 ; i++){
68
68
69
- int dims = i+1 ;
69
+ int dims = i+1 ;
70
70
71
- sizes.push_back (dims*2 );
71
+ sizes.push_back (dims*2 );
72
72
73
- CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
74
- val*= dims*2 ;
73
+ CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
74
+ val*= dims*2 ;
75
75
76
- EXPECT_EQ (val, A.extent ());
77
- }
76
+ EXPECT_EQ (val, A.extent ());
77
+ }
78
78
}
79
79
80
80
// Test dims function
81
81
TEST (Test_CArrayKokkos, dims)
82
82
{
83
83
84
- // Note: extend to other dims when initialized to zero
84
+ // Note: extend to other dims when initialized to zero
85
85
86
- std::vector<int > sizes;
87
- for (int i = 0 ; i < 7 ; i++){
86
+ std::vector<int > sizes;
87
+ for (int i = 0 ; i < 7 ; i++){
88
88
89
- int dims = i+1 ;
89
+ int dims = i+1 ;
90
90
91
- sizes.push_back (dims*2 );
91
+ sizes.push_back (dims*2 );
92
92
93
- CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
93
+ CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
94
94
95
- EXPECT_EQ (sizes[i], A.dims (i));
96
- }
95
+ EXPECT_EQ (sizes[i], A.dims (i));
96
+ }
97
97
}
98
98
99
99
// Test order function
100
100
TEST (Test_CArrayKokkos, order)
101
101
{
102
- std::vector<int > sizes;
103
- for (int i = 0 ; i < 7 ; i++){
104
-
105
- int dims = i+1 ;
106
- sizes.push_back (dims*2 );
107
- CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
108
- EXPECT_EQ (dims, A.order ());
109
- }
102
+ std::vector<int > sizes;
103
+ for (int i = 0 ; i < 7 ; i++){
104
+
105
+ int dims = i+1 ;
106
+ sizes.push_back (dims*2 );
107
+ CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
108
+ EXPECT_EQ (dims, A.order ());
109
+ }
110
110
}
111
111
112
112
113
113
// Test order function
114
114
TEST (Test_CArrayKokkos, pointer)
115
115
{
116
- std::vector<int > sizes;
117
- for (int i = 0 ; i < 7 ; i++){
116
+ std::vector<int > sizes;
117
+ for (int i = 0 ; i < 7 ; i++){
118
118
119
- int dims = i+1 ;
120
- sizes.push_back (dims*2 );
121
- CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
122
- auto a = A.get_kokkos_view ();
119
+ int dims = i+1 ;
120
+ sizes.push_back (dims*2 );
121
+ CArrayKokkos<double > A = return_CArrayKokkos (dims, sizes);
122
+ auto a = A.get_kokkos_view ();
123
123
124
- EXPECT_EQ (&a[0 ], A.pointer ());
125
- }
124
+ EXPECT_EQ (&a[0 ], A.pointer ());
125
+ }
126
126
}
127
127
128
128
// Add test for late initialization
129
129
TEST (Test_CArrayKokkos, late_init)
130
130
{
131
- std::vector<int > sizes; // Size of each dimension
132
- int val = 1 ; // Expected total length of data
131
+ std::vector<int > sizes; // Size of each dimension
132
+ int val = 1 ; // Expected total length of data
133
133
134
- CArrayKokkos<double > A;
134
+ CArrayKokkos<double > A;
135
135
136
- for (int i = 0 ; i < 7 ; i++){
136
+ for (int i = 0 ; i < 7 ; i++){
137
137
138
- int dims = i+1 ;
138
+ int dims = i+1 ;
139
139
140
- sizes.push_back (dims*2 );
140
+ sizes.push_back (dims*2 );
141
141
142
- A = return_CArrayKokkos (dims, sizes);
143
- val*= dims*2 ;
142
+ A = return_CArrayKokkos (dims, sizes);
143
+ val*= dims*2 ;
144
144
145
- EXPECT_EQ (val, A.size ());
146
- }
145
+ EXPECT_EQ (val, A.size ());
146
+ }
147
147
}
148
148
149
149
150
150
// Add test for operator = overload
151
151
TEST (Test_CArrayKokkos, eq_overload)
152
152
{
153
- const int size = 100 ;
154
- CArrayKokkos<double > A (size, size);
153
+ const int size = 100 ;
154
+ CArrayKokkos<double > A (size, size);
155
155
156
- CArrayKokkos<double > B (size, size);
156
+ CArrayKokkos<double > B (size, size);
157
157
158
- for (int i = 0 ; i < size; i++){
159
- for (int j = 0 ; j < size; j++){
160
- A (i,j) = (double )i + (double )j;
161
- }
162
- }
158
+ for (int i = 0 ; i < size; i++){
159
+ for (int j = 0 ; j < size; j++){
160
+ A (i,j) = (double )i + (double )j;
161
+ }
162
+ }
163
163
164
- B = A;
164
+ B = A;
165
165
166
- for (int i = 0 ; i < size; i++){
167
- for (int j = 0 ; j < size; j++){
166
+ for (int i = 0 ; i < size; i++){
167
+ for (int j = 0 ; j < size; j++){
168
168
169
- EXPECT_EQ (B (i,j), (double )i + (double )j);
170
- }
171
- }
169
+ EXPECT_EQ (B (i,j), (double )i + (double )j);
170
+ }
171
+ }
172
172
}
173
173
174
174
175
175
int main (int argc, char * argv[])
176
176
{
177
177
178
178
179
- Kokkos::initialize (argc, argv);
179
+ Kokkos::initialize (argc, argv);
180
180
{
181
181
182
- int result = 0 ;
182
+ int result = 0 ;
183
183
184
- testing::InitGoogleTest (&argc, argv);
184
+ testing::InitGoogleTest (&argc, argv);
185
185
186
- result = RUN_ALL_TESTS ();
186
+ result = RUN_ALL_TESTS ();
187
187
188
- return result;
188
+ return result;
189
189
190
- }
191
- Kokkos::finalize ();
190
+ }
191
+ Kokkos::finalize ();
192
192
193
193
}
0 commit comments