5
static int test(int shape_idx, int type_idx, int dist_idx)
7
int type = TYPES[type_idx];
8
int *dims = SHAPES[shape_idx];
9
int ndim = SHAPES_NDIM[shape_idx];
10
mock_ga_t *mock_a, *result_a;
14
int lo[GA_MAX_DIM], hi[GA_MAX_DIM], ld[GA_MAX_DIM], shape[GA_MAX_DIM];
15
int result=0, error_index=-1, error_proc=-1;
21
SingleComplex cval = {11,12};
22
DoubleComplex zval = {13,14};
24
mock_a = Mock_Create(type, ndim, dims, "mock", NULL);
25
result_a = Mock_Create(type, ndim, dims, "mock", NULL);
27
g_a = create_function[dist_idx](type, ndim, dims);
29
mock_data(mock_a, g_a);
31
mock_to_global(mock_a, g_a);
34
case C_INT: alpha = &ival; break;
35
case C_LONG: alpha = &lval; break;
36
case C_LONGLONG: alpha = &llval; break;
37
case C_FLOAT: alpha = &fval; break;
38
case C_DBL: alpha = &dval; break;
39
case C_SCPL: alpha = &cval; break;
40
case C_DCPL: alpha = &zval; break;
43
Mock_Fill(mock_a, alpha);
47
global_to_mock(g_a, result_a);
49
result = neq_mock(mock_a, result_a, &error_index);
51
error_proc = GA_Nodeid();
54
GA_Igop(&result, 1, "+");
55
GA_Igop(&error_proc, 1, "max");
57
if (error_proc != GA_Nodeid()) {
61
GA_Igop(&error_index, 1, "+");
63
if (error_proc == GA_Nodeid()) {
64
printf("ERROR: local result failed to compare to global result\n");
65
printf("\terror_proc=%d\n", error_proc);
66
printf("\terror_index=%d\n", error_index);
67
printf("***LOCAL RESULT***\n");
69
printf("***GLOBAL RESULT***\n");
71
printf("\tprinting array distribution\n");
75
GA_Print_distribution(g_a);
81
Mock_Destroy(result_a);
87
int main(int argc, char **argv)
91
int shape_idx=0, type_idx=0, dist_idx=0;
94
for (shape_idx=0; shape_idx < NUM_SHAPES; ++shape_idx) {
95
for (type_idx=0; type_idx < NUM_TYPES; ++type_idx) {
96
for (dist_idx=0; dist_idx < NUM_DISTS; ++dist_idx) {
97
if (0 == GA_Nodeid()) {
98
printf("%s\t%s\t%s\n",
99
SHAPE_NAMES[shape_idx],
100
TYPE_NAMES[type_idx],
105
return_code = test(shape_idx, type_idx, dist_idx);
106
if (0 != return_code) {
110
if (0 != return_code) {
114
if (0 != return_code) {