/home/kcamus/qaas_runs/169-443-9681/intel/AMG/build/AMG/AMG/test/amg.c: 760 - 2346
--------------------------------------------------------------------------------

760: #pragma omp parallel
[...]
772:     num_threads = hypre_NumActiveThreads();
773:     my_thread = hypre_GetThreadNum();
774:     size = nz/num_threads;
775:     rest = nz - size*num_threads;
776:     ix_start = nx*px;
777:     ix_end = ix_start+nx;
778:     iy_start = ny*py;
779:     iy_end = iy_start+ny;
780:     if (my_thread < rest)
781:     {
782:        iz_start = nz*pz + my_thread*size+my_thread;
783:        iz_end = nz*pz + (my_thread+1)*size+my_thread+1;
784:        cnt = (my_thread*size+my_thread)*nxy-1;
785:     }
786:     else
787:     {
788:        iz_start = nz*pz + my_thread*size+rest;
789:        iz_end = nz*pz + (my_thread+1)*size+rest;
790:        cnt = (my_thread*size+rest)*nxy-1;
791:     }
792:     o_cnt = cnt;
793: 
794:     for (iz = iz_start;  iz < iz_end; iz++)
795:     {
796:       for (iy = iy_start;  iy < iy_end; iy++)
797:       {
798:          for (ix = ix_start; ix < ix_end; ix++)
799:          {
800:             cnt++;
801:             o_cnt++;
802:             diag_i[cnt]++;
803:             if (iz > nz*pz) 
804:             {
805:                diag_i[cnt]++;
806:                if (iy > ny*py) 
807:                {
808:                   diag_i[cnt]++;
809:       	          if (ix > nx*px)
810:       	          {
811:       	             diag_i[cnt]++;
812:       	          }
813:       	          else
814:       	          {
815:       	             if (ix) 
816:       		        offd_i[o_cnt]++;
817:       	          }
818:       	          if (ix < nx*(px+1)-1)
819:       	          {
820:       	             diag_i[cnt]++;
821:       	          }
822:       	          else
823:       	          {
824:       	             if (ix+1 < nx_global) 
825:       		        offd_i[o_cnt]++;
826:       	          }
827:                }
828:                else
829:                {
830:                   if (iy) 
831:                   {
832:                      offd_i[o_cnt]++;
833:       	             if (ix > nx*px)
834:       	             {
835:       	                offd_i[o_cnt]++;
836:       	             }
837:       	             else if (ix)
838:       	             {
839:       	                offd_i[o_cnt]++;
840:       	             }
841:       	             if (ix < nx*(px+1)-1)
842:       	             {
843:       	                offd_i[o_cnt]++;
844:       	             }
845:       	             else if (ix < nx_global-1)
846:       	             {
847:       	                offd_i[o_cnt]++;
848:       	             }
849:                   }
850:                }
851:                if (ix > nx*px) 
852:                   diag_i[cnt]++;
853:                else
854:                {
855:                   if (ix) 
856:                   {
857:                      offd_i[o_cnt]++;
858:                   }
859:                }
860:                if (ix+1 < nx*(px+1)) 
861:                   diag_i[cnt]++;
862:                else
863:                {
864:                   if (ix+1 < nx_global) 
865:                   {
866:                      offd_i[o_cnt]++; 
867:                   }
868:                }
869:                if (iy+1 < ny*(py+1)) 
870:                {
871:                   diag_i[cnt]++;
872:       	          if (ix > nx*px)
873:       	          {
874:       	             diag_i[cnt]++;
875:       	          }
876:       	          else
877:       	          {
878:       	             if (ix) 
879:       		        offd_i[o_cnt]++;
880:       	          }
881:       	          if (ix < nx*(px+1)-1)
882:       	          {
883:       	             diag_i[cnt]++;
884:       	          }
885:       	          else
886:       	          {
887:       	             if (ix+1 < nx_global) 
888:       		        offd_i[o_cnt]++;
889:       	          }
890:                }
891:                else
892:                {
893:                   if (iy+1 < ny_global) 
894:                   {
895:                      offd_i[o_cnt]++;
896:       	             if (ix > nx*px)
897:       	             {
898:       	                offd_i[o_cnt]++;
899:       	             }
900:       	             else if (ix)
901:       	             {
902:       	                offd_i[o_cnt]++;
903:       	             }
904:       	             if (ix < nx*(px+1)-1)
905:       	             {
906:       	                offd_i[o_cnt]++;
907:       	             }
908:       	             else if (ix < nx_global-1)
909:       	             {
910:       	                offd_i[o_cnt]++;
[...]
917:                if (iz)
918: 	       {
919: 		  offd_i[o_cnt]++;
920:                   if (iy > ny*py) 
921:                   {
922:                      offd_i[o_cnt]++;
923:       	             if (ix > nx*px)
924:       	             {
925:       	                offd_i[o_cnt]++;
926:       	             }
927:       	             else
928:       	             {
929:       	                if (ix) 
930:       	   	        offd_i[o_cnt]++;
931:       	             }
932:       	             if (ix < nx*(px+1)-1)
933:       	             {
934:       	                offd_i[o_cnt]++;
935:       	             }
936:       	             else
937:       	             {
938:       	                if (ix+1 < nx_global) 
[...]
944:                      if (iy) 
945:                      {
946:                         offd_i[o_cnt]++;
947:       	                if (ix > nx*px)
948:       	                {
949:       	                   offd_i[o_cnt]++;
950:       	                }
951:       	                else if (ix)
952:       	                {
953:       	                   offd_i[o_cnt]++;
954:       	                }
955:       	                if (ix < nx*(px+1)-1)
956:       	                {
957:       	                   offd_i[o_cnt]++;
958:       	                }
959:       	                else if (ix < nx_global-1)
960:       	                {
961:       	                   offd_i[o_cnt]++;
962:       	                }
963:                      }
964:                   }
965:                   if (ix > nx*px) 
966:                      offd_i[o_cnt]++;
967:                   else
968:                   {
969:                      if (ix) 
970:                      {
971:                         offd_i[o_cnt]++; 
972:                      }
973:                   }
974:                   if (ix+1 < nx*(px+1)) 
975:                      offd_i[o_cnt]++;
976:                   else
977:                   {
978:                      if (ix+1 < nx_global) 
979:                      {
980:                         offd_i[o_cnt]++; 
981:                      }
982:                   }
983:                   if (iy+1 < ny*(py+1)) 
984:                   {
985:                      offd_i[o_cnt]++;
986:       	             if (ix > nx*px)
987:       	             {
988:       	                offd_i[o_cnt]++;
989:       	             }
990:       	             else
991:       	             {
992:       	                if (ix) 
993:       	   	           offd_i[o_cnt]++;
994:       	             }
995:       	             if (ix < nx*(px+1)-1)
996:       	             {
997:       	                offd_i[o_cnt]++;
998:       	             }
999:       	             else
1000:       	             {
1001:       	                if (ix+1 < nx_global) 
1002:       	   	           offd_i[o_cnt]++;
1003:       	             }
1004:                   }
1005:                   else
1006:                   {
1007:                      if (iy+1 < ny_global) 
1008:                      {
1009:                         offd_i[o_cnt]++;
1010:       	                if (ix > nx*px)
1011:       	                {
1012:       	                   offd_i[o_cnt]++;
1013:       	                }
1014:       	                else if (ix)
1015:       	                {
1016:       	                   offd_i[o_cnt]++;
1017:       	                }
1018:       	                if (ix < nx*(px+1)-1)
1019:       	                {
1020:       	                   offd_i[o_cnt]++;
[...]
1032:                diag_i[cnt]++;
1033:    	       if (ix > nx*px)
1034:    	       {
1035:    	          diag_i[cnt]++;
1036:    	       }
1037:    	       else
1038:    	       {
1039:    	          if (ix) 
1040:    		     offd_i[o_cnt]++;
1041:    	       }
1042:    	       if (ix < nx*(px+1)-1)
1043:    	       {
1044:    	          diag_i[cnt]++;
1045:    	       }
1046:    	       else
1047:    	       {
1048:    	          if (ix+1 < nx_global) 
1049:    		     offd_i[o_cnt]++;
1050:    	       }
1051:             }
1052:             else
1053:             {
1054:                if (iy) 
1055:                {
1056:                   offd_i[o_cnt]++;
1057:    	          if (ix > nx*px)
1058:    	          {
1059:    	             offd_i[o_cnt]++;
1060:    	          }
1061:    	          else if (ix)
1062:    	          {
1063:    	             offd_i[o_cnt]++;
1064:    	          }
1065:    	          if (ix < nx*(px+1)-1)
1066:    	          {
1067:    	             offd_i[o_cnt]++;
1068:    	          }
1069:    	          else if (ix < nx_global-1)
1070:    	          {
1071:    	             offd_i[o_cnt]++;
1072:    	          }
1073:                }
1074:             }
1075:             if (ix > nx*px) 
1076:                diag_i[cnt]++;
1077:             else
1078:             {
1079:                if (ix) 
1080:                {
1081:                   offd_i[o_cnt]++; 
1082:                }
1083:             }
1084:             if (ix+1 < nx*(px+1)) 
1085:                diag_i[cnt]++;
1086:             else
1087:             {
1088:                if (ix+1 < nx_global) 
1089:                {
1090:                   offd_i[o_cnt]++; 
1091:                }
1092:             }
1093:             if (iy+1 < ny*(py+1)) 
1094:             {
1095:                diag_i[cnt]++;
1096:    	       if (ix > nx*px)
1097:    	       {
1098:    	          diag_i[cnt]++;
1099:    	       }
1100:    	       else
1101:    	       {
1102:    	          if (ix) 
1103:    		     offd_i[o_cnt]++;
1104:    	       }
1105:    	       if (ix < nx*(px+1)-1)
1106:    	       {
1107:    	          diag_i[cnt]++;
1108:    	       }
1109:    	       else
1110:    	       {
1111:    	          if (ix+1 < nx_global) 
1112:    		     offd_i[o_cnt]++;
1113:    	       }
1114:             }
1115:             else
1116:             {
1117:                if (iy+1 < ny_global) 
1118:                {
1119:                   offd_i[o_cnt]++;
1120:    	          if (ix > nx*px)
1121:    	          {
1122:    	             offd_i[o_cnt]++;
1123:    	          }
1124:    	          else if (ix)
1125:    	          {
1126:    	             offd_i[o_cnt]++;
1127:    	          }
1128:    	          if (ix < nx*(px+1)-1)
1129:    	          {
1130:    	             offd_i[o_cnt]++;
1131:    	          }
1132:    	          else if (ix < nx_global-1)
1133:    	          {
1134:    	             offd_i[o_cnt]++;
1135:    	          }
1136:                }
1137:             }
1138:             if (iz+1 < nz*(pz+1)) 
1139:             {
1140:                diag_i[cnt]++;
1141:                if (iy > ny*py) 
1142:                {
1143:                   diag_i[cnt]++;
1144:       	          if (ix > nx*px)
1145:       	          {
1146:       	             diag_i[cnt]++;
1147:       	          }
1148:       	          else
1149:       	          {
1150:       	             if (ix) 
1151:       		        offd_i[o_cnt]++;
1152:       	          }
1153:       	          if (ix < nx*(px+1)-1)
1154:       	          {
1155:       	             diag_i[cnt]++;
1156:       	          }
1157:       	          else
1158:       	          {
1159:       	             if (ix+1 < nx_global) 
1160:       		        offd_i[o_cnt]++;
1161:       	          }
1162:                }
1163:                else
1164:                {
1165:                   if (iy) 
1166:                   {
1167:                      offd_i[o_cnt]++;
1168:       	             if (ix > nx*px)
1169:       	             {
1170:       	                offd_i[o_cnt]++;
1171:       	             }
1172:       	             else if (ix)
1173:       	             {
1174:       	                offd_i[o_cnt]++;
1175:       	             }
1176:       	             if (ix < nx*(px+1)-1)
1177:       	             {
1178:       	                offd_i[o_cnt]++;
1179:       	             }
1180:       	             else if (ix < nx_global-1)
1181:       	             {
1182:       	                offd_i[o_cnt]++;
1183:       	             }
1184:                   }
1185:                }
1186:                if (ix > nx*px) 
1187:                   diag_i[cnt]++;
1188:                else
1189:                {
1190:                   if (ix) 
1191:                   {
1192:                      offd_i[o_cnt]++; 
1193:                   }
1194:                }
1195:                if (ix+1 < nx*(px+1)) 
1196:                   diag_i[cnt]++;
1197:                else
1198:                {
1199:                   if (ix+1 < nx_global) 
1200:                   {
1201:                      offd_i[o_cnt]++; 
1202:                   }
1203:                }
1204:                if (iy+1 < ny*(py+1)) 
1205:                {
1206:                   diag_i[cnt]++;
1207:       	          if (ix > nx*px)
1208:       	          {
1209:       	             diag_i[cnt]++;
1210:       	          }
1211:       	          else
1212:       	          {
1213:       	             if (ix) 
1214:       		        offd_i[o_cnt]++;
1215:       	          }
1216:       	          if (ix < nx*(px+1)-1)
1217:       	          {
1218:       	             diag_i[cnt]++;
1219:       	          }
1220:       	          else
1221:       	          {
1222:       	             if (ix+1 < nx_global) 
1223:       		        offd_i[o_cnt]++;
1224:       	          }
1225:                }
1226:                else
1227:                {
1228:                   if (iy+1 < ny_global) 
1229:                   {
1230:                      offd_i[o_cnt]++;
1231:       	             if (ix > nx*px)
1232:       	             {
1233:       	                offd_i[o_cnt]++;
1234:       	             }
1235:       	             else if (ix)
1236:       	             {
1237:       	                offd_i[o_cnt]++;
1238:       	             }
1239:       	             if (ix < nx*(px+1)-1)
1240:       	             {
1241:       	                offd_i[o_cnt]++;
1242:       	             }
1243:       	             else if (ix < nx_global-1)
[...]
1252:                if (iz+1 < nz_global)
1253: 	       {
1254: 		  offd_i[o_cnt]++;
1255:                   if (iy > ny*py) 
1256:                   {
1257:                      offd_i[o_cnt]++;
1258:       	             if (ix > nx*px)
1259:       	             {
1260:       	                offd_i[o_cnt]++;
1261:       	             }
1262:       	             else
1263:       	             {
1264:       	                if (ix) 
1265:       	   	        offd_i[o_cnt]++;
1266:       	             }
1267:       	             if (ix < nx*(px+1)-1)
1268:       	             {
1269:       	                offd_i[o_cnt]++;
1270:       	             }
1271:       	             else
1272:       	             {
1273:       	                if (ix+1 < nx_global) 
1274:       	   	        offd_i[o_cnt]++;
1275:       	             }
1276:                   }
1277:                   else
1278:                   {
1279:                      if (iy) 
1280:                      {
1281:                         offd_i[o_cnt]++;
1282:       	                if (ix > nx*px)
1283:       	                {
1284:       	                   offd_i[o_cnt]++;
[...]
1290:       	                if (ix < nx*(px+1)-1)
1291:       	                {
1292:       	                   offd_i[o_cnt]++;
1293:       	                }
1294:       	                else if (ix < nx_global-1)
1295:       	                {
1296:       	                   offd_i[o_cnt]++;
1297:       	                }
1298:                      }
1299:                   }
1300:                   if (ix > nx*px) 
1301:                      offd_i[o_cnt]++;
1302:                   else
1303:                   {
1304:                      if (ix) 
1305:                      {
1306:                         offd_i[o_cnt]++; 
1307:                      }
1308:                   }
1309:                   if (ix+1 < nx*(px+1)) 
1310:                      offd_i[o_cnt]++;
1311:                   else
1312:                   {
1313:                      if (ix+1 < nx_global) 
1314:                      {
1315:                         offd_i[o_cnt]++; 
1316:                      }
1317:                   }
1318:                   if (iy+1 < ny*(py+1)) 
1319:                   {
1320:                      offd_i[o_cnt]++;
1321:       	             if (ix > nx*px)
1322:       	             {
1323:       	                offd_i[o_cnt]++;
1324:       	             }
1325:       	             else
1326:       	             {
1327:       	                if (ix) 
1328:       	   	           offd_i[o_cnt]++;
1329:       	             }
1330:       	             if (ix < nx*(px+1)-1)
1331:       	             {
1332:       	                offd_i[o_cnt]++;
1333:       	             }
1334:       	             else
1335:       	             {
1336:       	                if (ix+1 < nx_global) 
[...]
1342:                      if (iy+1 < ny_global) 
1343:                      {
1344:                         offd_i[o_cnt]++;
1345:       	                if (ix > nx*px)
1346:       	                {
1347:       	                   offd_i[o_cnt]++;
1348:       	                }
1349:       	                else if (ix)
1350:       	                {
1351:       	                   offd_i[o_cnt]++;
1352:       	                }
1353:       	                if (ix < nx*(px+1)-1)
1354:       	                {
1355:       	                   offd_i[o_cnt]++;
1356:       	                }
1357:       	                else if (ix < nx_global-1)
1358:       	                {
1359:       	                   offd_i[o_cnt]++;
[...]
1365:             nnz[my_thread] += diag_i[cnt]+offd_i[o_cnt];
1366:             row_nums[cnt] = row_index+cnt;
1367:             num_cols[cnt] = diag_i[cnt]+offd_i[o_cnt];
[...]
1373: #pragma omp barrier
1374: #endif
1375: 
1376:    if (my_thread == 0)
1377:    {
1378:       for (i=1; i< num_threads; i++)
1379:          nnz[i]+= nnz[i-1];
1380: 
1381:       all_nnz = nnz[num_threads-1];
1382:       col_nums = hypre_CTAlloc(HYPRE_Int, all_nnz);
1383:       data = hypre_CTAlloc(HYPRE_Real, all_nnz);
1384: 
1385:       HYPRE_IJMatrixSetDiagOffdSizes( ij_A, diag_i, offd_i);
1386:    }
1387: 
1388: #ifdef HYPRE_USING_OPENMP
1389: #pragma omp barrier
1390: #endif
1391: 
1392:    if (my_thread) 
1393:    {
1394:       cnt = nnz[my_thread-1];
1395:       new_row_index = row_index+(iz_start-nz*pz)*nxy;
[...]
1402:    for (iz = iz_start;  iz < iz_end; iz++)
1403:    {
1404:       for (iy = iy_start;  iy < iy_end; iy++)
1405:       {
1406:          for (ix = ix_start; ix < ix_end; ix++)
1407:          {
1408:             col_nums[cnt] = new_row_index;
1409:             data[cnt++] = value[0];
1410:             if (iz > nz*pz) 
1411:             {
1412:                if (iy > ny*py) 
1413:                {
1414:       	          if (ix > nx*px)
1415:       	          {
1416:       	             col_nums[cnt] = new_row_index-nxy-nx-1;
1417:       	             data[cnt++] = value[1];
1418:       	          }
1419:       	          else
1420:       	          {
1421:       	             if (ix) 
1422:       	             {
1423:       		        col_nums[cnt] = hypre_map27(ix-1,iy-1,iz-1,px-1,py,pz,
1424: 					Cx,Cy,Cz,nx,nxy);
1425:       		        data[cnt++] = value[1];
1426:       	             }
1427:       	          }
1428:       	          col_nums[cnt] = new_row_index-nxy-nx;
1429:       	          data[cnt++] = value[1];
1430:       	          if (ix < nx*(px+1)-1)
1431:       	          {
1432:       	             col_nums[cnt] = new_row_index-nxy-nx+1;
1433:       	             data[cnt++] = value[1];
1434:       	          }
1435:       	          else
1436:       	          {
1437:       	             if (ix+1 < nx_global) 
1438:       	             {
1439:       		        col_nums[cnt] = hypre_map27(ix+1,iy-1,iz-1,px+1,py,pz,
1440: 					Cx,Cy,Cz,nx,nxy);
1441:       		        data[cnt++] = value[1];
[...]
1447:                   if (iy) 
1448:                   {
1449:       	             if (ix > nx*px)
[...]
1455:       	             else if (ix)
1456:       	             {
1457:       		        col_nums[cnt] = hypre_map27(ix-1,iy-1,iz-1,px-1,py-1,pz,
1458: 					Cx,Cy,Cz,nx,nxy);
1459:       		        data[cnt++] = value[1];
1460:       	             }
1461:       		     col_nums[cnt] = hypre_map27(ix,iy-1,iz-1,px,py-1,pz,
1462: 					Cx,Cy,Cz,nx,nxy);
1463:       		     data[cnt++] = value[1];
1464:       	             if (ix < nx*(px+1)-1)
1465:       	             {
1466:       		        col_nums[cnt] = hypre_map27(ix+1,iy-1,iz-1,px,py-1,pz,
1467: 					Cx,Cy,Cz,nx,nxy);
1468:       		        data[cnt++] = value[1];
1469:       	             }
1470:       	             else if (ix < nx_global-1)
1471:       	             {
1472:       		        col_nums[cnt] = hypre_map27(ix+1,iy-1,iz-1,px+1,py-1,pz,
1473: 					Cx,Cy,Cz,nx,nxy);
1474:       		        data[cnt++] = value[1];
1475:       	             }
1476:                   }
1477:                }
1478:                if (ix > nx*px) 
1479:       	       {   
1480:       	          col_nums[cnt] = new_row_index-nxy-1;
1481:       	          data[cnt++] = value[1];
1482:       	       }   
1483:                else
1484:                {
1485:                   if (ix) 
1486:                   {
1487:       		     col_nums[cnt] = hypre_map27(ix-1,iy,iz-1,px-1,py,pz,
1488: 					Cx,Cy,Cz,nx,nxy);
1489:       		     data[cnt++] = value[1];
1490:                   }
1491:                }
1492:       	       col_nums[cnt] = new_row_index-nxy;
1493:       	       data[cnt++] = value[1];
1494:                if (ix+1 < nx*(px+1)) 
1495:       	       {   
1496:       	          col_nums[cnt] = new_row_index-nxy+1;
1497:       	          data[cnt++] = value[1];
1498:       	       }   
1499:                else
1500:                {
1501:                   if (ix+1 < nx_global) 
1502:                   {
1503:       		     col_nums[cnt] = hypre_map27(ix+1,iy,iz-1,px+1,py,pz,
1504: 					Cx,Cy,Cz,nx,nxy);
1505:       		     data[cnt++] = value[1];
1506:                   }
1507:                }
1508:                if (iy+1 < ny*(py+1)) 
1509:                {
1510:       	          if (ix > nx*px)
1511:       	          {
1512:       	             col_nums[cnt] = new_row_index-nxy+nx-1;
1513:       	             data[cnt++] = value[1];
1514:       	          }
1515:       	          else
1516:       	          {
1517:       	             if (ix) 
1518:                      {
1519:       		        col_nums[cnt] = hypre_map27(ix-1,iy+1,iz-1,px-1,py,pz,
1520: 					Cx,Cy,Cz,nx,nxy);
1521:       		        data[cnt++] = value[1];
1522:                      }
1523:       	          }
1524:       	          col_nums[cnt] = new_row_index-nxy+nx;
1525:       	          data[cnt++] = value[1];
1526:       	          if (ix < nx*(px+1)-1)
1527:       	          {
1528:       	             col_nums[cnt] = new_row_index-nxy+nx+1;
1529:       	             data[cnt++] = value[1];
1530:       	          }
1531:       	          else
1532:       	          {
1533:       	             if (ix+1 < nx_global) 
1534:                      {
1535:       		        col_nums[cnt] = hypre_map27(ix+1,iy+1,iz-1,px+1,py,pz,
1536: 					Cx,Cy,Cz,nx,nxy);
1537:       		        data[cnt++] = value[1];
[...]
1543:                   if (iy+1 < ny_global) 
1544:                   {
1545:       	             if (ix > nx*px)
1546:       	             {
1547:       		        col_nums[cnt] = hypre_map27(ix-1,iy+1,iz-1,px,py+1,pz,
1548: 					Cx,Cy,Cz,nx,nxy);
1549:       		        data[cnt++] = value[1];
1550:       	             }
1551:       	             else if (ix)
1552:       	             {
1553:       		        col_nums[cnt] = hypre_map27(ix-1,iy+1,iz-1,px-1,py+1,pz,
1554: 					Cx,Cy,Cz,nx,nxy);
1555:       		        data[cnt++] = value[1];
1556:       	             }
1557:       		     col_nums[cnt] = hypre_map27(ix,iy+1,iz-1,px,py+1,pz,
1558: 					Cx,Cy,Cz,nx,nxy);
1559:       		     data[cnt++] = value[1];
1560:       	             if (ix < nx*(px+1)-1)
1561:       	             {
1562:       		        col_nums[cnt] = hypre_map27(ix+1,iy+1,iz-1,px,py+1,pz,
1563: 					Cx,Cy,Cz,nx,nxy);
1564:       		        data[cnt++] = value[1];
1565:       	             }
1566:       	             else if (ix < nx_global-1)
1567:       	             {
1568:       		        col_nums[cnt] = hypre_map27(ix+1,iy+1,iz-1,px+1,py+1,pz,
1569: 					Cx,Cy,Cz,nx,nxy);
1570:       		        data[cnt++] = value[1];
[...]
1577:                if (iz)
1578: 	       {
1579:                   if (iy > ny*py) 
1580:                   {
1581:       	             if (ix > nx*px)
1582:       	             {
1583:       		        col_nums[cnt] = hypre_map27(ix-1,iy-1,iz-1,px,py,pz-1,
1584: 					Cx,Cy,Cz,nx,nxy);
1585:       		        data[cnt++] = value[1];
1586:       	             }
1587:       	             else
1588:       	             {
1589:       	                if (ix) 
1590:       	                {
1591:       		           col_nums[cnt] = hypre_map27(ix-1,iy-1,iz-1,px-1,py,pz-1,
1592: 					Cx,Cy,Cz,nx,nxy);
1593:       		           data[cnt++] = value[1];
1594:       	                }
1595:       	             }
1596:       		     col_nums[cnt] = hypre_map27(ix,iy-1,iz-1,px,py,pz-1,
1597: 					Cx,Cy,Cz,nx,nxy);
1598:       		     data[cnt++] = value[1];
1599:       	             if (ix < nx*(px+1)-1)
1600:       	             {
1601:       		        col_nums[cnt] = hypre_map27(ix+1,iy-1,iz-1,px,py,pz-1,
1602: 					Cx,Cy,Cz,nx,nxy);
1603:       		        data[cnt++] = value[1];
1604:       	             }
1605:       	             else
1606:       	             {
1607:       	                if (ix+1 < nx_global) 
1608:       	                {
1609:       		           col_nums[cnt] = hypre_map27(ix+1,iy-1,iz-1,px+1,py,pz-1,
1610: 					Cx,Cy,Cz,nx,nxy);
1611:       		           data[cnt++] = value[1];
[...]
1617:                      if (iy) 
1618:                      {
1619:       	                if (ix > nx*px)
1620:       	                {
1621:       		           col_nums[cnt] = hypre_map27(ix-1,iy-1,iz-1,px,py-1,pz-1,
1622: 					Cx,Cy,Cz,nx,nxy);
1623:       		           data[cnt++] = value[1];
1624:       	                }
1625:       	                else if (ix)
1626:       	                {
1627:       		           col_nums[cnt] =hypre_map27(ix-1,iy-1,iz-1,px-1,py-1,pz-1,
1628: 					Cx,Cy,Cz,nx,nxy);
1629:       		           data[cnt++] = value[1];
1630:       	                }
1631:       		        col_nums[cnt] = hypre_map27(ix,iy-1,iz-1,px,py-1,pz-1,
1632: 					Cx,Cy,Cz,nx,nxy);
1633:       		        data[cnt++] = value[1];
1634:       	                if (ix < nx*(px+1)-1)
1635:       	                {
1636:       		           col_nums[cnt] = hypre_map27(ix+1,iy-1,iz-1,px,py-1,pz-1,
1637: 					Cx,Cy,Cz,nx,nxy);
1638:       		           data[cnt++] = value[1];
1639:       	                }
1640:       	                else if (ix < nx_global-1)
1641:       	                {
1642:       		           col_nums[cnt] =hypre_map27(ix+1,iy-1,iz-1,px+1,py-1,pz-1,
1643: 					Cx,Cy,Cz,nx,nxy);
1644:       		           data[cnt++] = value[1];
1645:       	                }
1646:                      }
1647:                   }
1648:                   if (ix > nx*px) 
1649:                   {
1650:       		     col_nums[cnt] =hypre_map27(ix-1,iy,iz-1,px,py,pz-1,
1651: 					Cx,Cy,Cz,nx,nxy);
1652:       		     data[cnt++] = value[1];
1653:                   }
1654:                   else
1655:                   {
1656:                      if (ix) 
1657:                      {
1658:       		        col_nums[cnt] =hypre_map27(ix-1,iy,iz-1,px-1,py,pz-1,
1659: 					Cx,Cy,Cz,nx,nxy);
1660:       		        data[cnt++] = value[1];
1661:                      }
1662:                   }
1663:       		  col_nums[cnt] =hypre_map27(ix,iy,iz-1,px,py,pz-1,
1664: 					Cx,Cy,Cz,nx,nxy);
1665:       		  data[cnt++] = value[1];
1666:                   if (ix+1 < nx*(px+1)) 
1667:                   {
1668:       		     col_nums[cnt] =hypre_map27(ix+1,iy,iz-1,px,py,pz-1,
1669: 					Cx,Cy,Cz,nx,nxy);
1670:       		     data[cnt++] = value[1];
1671:                   }
1672:                   else
1673:                   {
1674:                      if (ix+1 < nx_global) 
1675:                      {
1676:       		        col_nums[cnt] =hypre_map27(ix+1,iy,iz-1,px+1,py,pz-1,
1677: 					Cx,Cy,Cz,nx,nxy);
1678:       		        data[cnt++] = value[1];
1679:                      }
1680:                   }
1681:                   if (iy+1 < ny*(py+1)) 
1682:                   {
1683:       	             if (ix > nx*px)
1684:       	             {
1685:       		        col_nums[cnt] =hypre_map27(ix-1,iy+1,iz-1,px,py,pz-1,
1686: 					Cx,Cy,Cz,nx,nxy);
1687:       		        data[cnt++] = value[1];
1688:       	             }
1689:       	             else
1690:       	             {
1691:       	                if (ix) 
1692:       	                {
1693:       		           col_nums[cnt] =hypre_map27(ix-1,iy+1,iz-1,px-1,py,pz-1,
1694: 					Cx,Cy,Cz,nx,nxy);
1695:       		           data[cnt++] = value[1];
1696:       	                }
1697:       	             }
1698:       		     col_nums[cnt] =hypre_map27(ix,iy+1,iz-1,px,py,pz-1,
1699: 					Cx,Cy,Cz,nx,nxy);
1700:       		     data[cnt++] = value[1];
1701:       	             if (ix < nx*(px+1)-1)
1702:       	             {
1703:       		        col_nums[cnt] =hypre_map27(ix+1,iy+1,iz-1,px,py,pz-1,
1704: 					Cx,Cy,Cz,nx,nxy);
1705:       		        data[cnt++] = value[1];
1706:       	             }
1707:       	             else
1708:       	             {
1709:       	                if (ix+1 < nx_global) 
1710:       	                {
1711:       		           col_nums[cnt] =hypre_map27(ix+1,iy+1,iz-1,px+1,py,pz-1,
1712: 					Cx,Cy,Cz,nx,nxy);
1713:       		           data[cnt++] = value[1];
[...]
1719:                      if (iy+1 < ny_global) 
1720:                      {
1721:       	                if (ix > nx*px)
1722:       	                {
1723:       		           col_nums[cnt] =hypre_map27(ix-1,iy+1,iz-1,px,py+1,pz-1,
1724: 					Cx,Cy,Cz,nx,nxy);
1725:       		           data[cnt++] = value[1];
1726:       	                }
1727:       	                else if (ix)
1728:       	                {
1729:       		           col_nums[cnt] =hypre_map27(ix-1,iy+1,iz-1,px-1,py+1,pz-1,
1730: 					Cx,Cy,Cz,nx,nxy);
1731:       		           data[cnt++] = value[1];
1732:       	                }
1733:       		        col_nums[cnt] =hypre_map27(ix,iy+1,iz-1,px,py+1,pz-1,
1734: 					Cx,Cy,Cz,nx,nxy);
1735:       		        data[cnt++] = value[1];
1736:       	                if (ix < nx*(px+1)-1)
1737:       	                {
1738:       		           col_nums[cnt] =hypre_map27(ix+1,iy+1,iz-1,px,py+1,pz-1,
1739: 					Cx,Cy,Cz,nx,nxy);
1740:       		           data[cnt++] = value[1];
1741:       	                }
1742:       	                else if (ix < nx_global-1)
1743:       	                {
1744:       		           col_nums[cnt] =hypre_map27(ix+1,iy+1,iz-1,px+1,py+1,pz-1,
1745: 					Cx,Cy,Cz,nx,nxy);
1746:       		           data[cnt++] = value[1];
[...]
1754:    	       if (ix > nx*px)
1755:    	       {
1756:    	          col_nums[cnt] = new_row_index-nx-1;
1757:    	          data[cnt++] = value[1];
1758:    	       }
1759:    	       else
1760:    	       {
1761:    	          if (ix) 
1762:    	          {
1763:       		     col_nums[cnt] =hypre_map27(ix-1,iy-1,iz,px-1,py,pz,
1764: 					Cx,Cy,Cz,nx,nxy);
1765:       		     data[cnt++] = value[1];
1766:    	          }
1767:    	       }
1768:    	       col_nums[cnt] = new_row_index-nx;
1769:    	       data[cnt++] = value[1];
1770:    	       if (ix < nx*(px+1)-1)
1771:    	       {
1772:    	          col_nums[cnt] = new_row_index-nx+1;
1773:    	          data[cnt++] = value[1];
1774:    	       }
1775:    	       else
1776:    	       {
1777:    	          if (ix+1 < nx_global) 
1778:    	          {
1779:       		     col_nums[cnt] =hypre_map27(ix+1,iy-1,iz,px+1,py,pz,
1780: 					Cx,Cy,Cz,nx,nxy);
1781:       		     data[cnt++] = value[1];
[...]
1787:                if (iy) 
1788:                {
1789:    	          if (ix > nx*px)
1790:    	          {
1791:       		     col_nums[cnt] =hypre_map27(ix-1,iy-1,iz,px,py-1,pz,
1792: 					Cx,Cy,Cz,nx,nxy);
1793:       		     data[cnt++] = value[1];
1794:    	          }
1795:    	          else if (ix)
1796:    	          {
1797:       		     col_nums[cnt] =hypre_map27(ix-1,iy-1,iz,px-1,py-1,pz,
1798: 					Cx,Cy,Cz,nx,nxy);
1799:       		     data[cnt++] = value[1];
1800:    	          }
1801:       		  col_nums[cnt] =hypre_map27(ix,iy-1,iz,px,py-1,pz,
1802: 					Cx,Cy,Cz,nx,nxy);
1803:       		  data[cnt++] = value[1];
1804:    	          if (ix < nx*(px+1)-1)
1805:    	          {
1806:       		     col_nums[cnt] =hypre_map27(ix+1,iy-1,iz,px,py-1,pz,
1807: 					Cx,Cy,Cz,nx,nxy);
1808:       		     data[cnt++] = value[1];
1809:    	          }
1810:    	          else if (ix < nx_global-1)
1811:    	          {
1812:       		     col_nums[cnt] =hypre_map27(ix+1,iy-1,iz,px+1,py-1,pz,
1813: 					Cx,Cy,Cz,nx,nxy);
1814:       		     data[cnt++] = value[1];
1815:    	          }
1816:                }
1817:             }
1818:             if (ix > nx*px) 
1819:             {
1820:                col_nums[cnt] = new_row_index-1;
1821:                data[cnt++] = value[1];
1822:             }
1823:             else
1824:             {
1825:                if (ix) 
1826:                {
1827:       		  col_nums[cnt] =hypre_map27(ix-1,iy,iz,px-1,py,pz,
1828: 					Cx,Cy,Cz,nx,nxy);
1829:       		  data[cnt++] = value[1];
1830:                }
1831:             }
1832:             if (ix+1 < nx*(px+1)) 
1833:             {
1834:                col_nums[cnt] = new_row_index+1;
1835:                data[cnt++] = value[1];
1836:             }
1837:             else
1838:             {
1839:                if (ix+1 < nx_global) 
1840:                {
1841:       		  col_nums[cnt] =hypre_map27(ix+1,iy,iz,px+1,py,pz,
1842: 					Cx,Cy,Cz,nx,nxy);
1843:       		  data[cnt++] = value[1];
1844:                }
1845:             }
1846:             if (iy+1 < ny*(py+1)) 
1847:             {
1848:    	       if (ix > nx*px)
1849:    	       {
1850:                   col_nums[cnt] = new_row_index+nx-1;
1851:                   data[cnt++] = value[1];
1852:    	       }
1853:    	       else
1854:    	       {
1855:    	          if (ix) 
1856:                   {
1857:       		     col_nums[cnt] =hypre_map27(ix-1,iy+1,iz,px-1,py,pz,
1858: 					Cx,Cy,Cz,nx,nxy);
1859:       		     data[cnt++] = value[1];
1860:                   }
1861:    	       }
1862:                col_nums[cnt] = new_row_index+nx;
1863:                data[cnt++] = value[1];
1864:    	       if (ix < nx*(px+1)-1)
1865:    	       {
1866:                   col_nums[cnt] = new_row_index+nx+1;
1867:                   data[cnt++] = value[1];
1868:    	       }
1869:    	       else
1870:    	       {
1871:    	          if (ix+1 < nx_global) 
1872:                   {
1873:       		     col_nums[cnt] =hypre_map27(ix+1,iy+1,iz,px+1,py,pz,
1874: 					Cx,Cy,Cz,nx,nxy);
1875:       		     data[cnt++] = value[1];
[...]
1881:                if (iy+1 < ny_global) 
1882:                {
1883:    	          if (ix > nx*px)
1884:    	          {
1885:       		     col_nums[cnt] =hypre_map27(ix-1,iy+1,iz,px,py+1,pz,
1886: 					Cx,Cy,Cz,nx,nxy);
1887:       		     data[cnt++] = value[1];
1888:    	          }
1889:    	          else if (ix)
1890:    	          {
1891:       		     col_nums[cnt] =hypre_map27(ix-1,iy+1,iz,px-1,py+1,pz,
1892: 					Cx,Cy,Cz,nx,nxy);
1893:       		     data[cnt++] = value[1];
1894:    	          }
1895:       		  col_nums[cnt] =hypre_map27(ix,iy+1,iz,px,py+1,pz,
1896: 					Cx,Cy,Cz,nx,nxy);
1897:       		  data[cnt++] = value[1];
1898:    	          if (ix < nx*(px+1)-1)
1899:    	          {
1900:       		     col_nums[cnt] =hypre_map27(ix+1,iy+1,iz,px,py+1,pz,
1901: 					Cx,Cy,Cz,nx,nxy);
1902:       		     data[cnt++] = value[1];
1903:    	          }
1904:    	          else if (ix < nx_global-1)
1905:    	          {
1906:       		     col_nums[cnt] =hypre_map27(ix+1,iy+1,iz,px+1,py+1,pz,
1907: 					Cx,Cy,Cz,nx,nxy);
1908:       		     data[cnt++] = value[1];
1909:    	          }
1910:                }
1911:             }
1912:             if (iz+1 < nz*(pz+1)) 
1913:             {
1914:                if (iy > ny*py) 
1915:                {
1916:       	          if (ix > nx*px)
1917:       	          {
1918:       	             col_nums[cnt] = new_row_index+nxy-nx-1;
1919:       	             data[cnt++] = value[1];
1920:       	          }
1921:       	          else
1922:       	          {
1923:       	             if (ix) 
1924:    	             {
1925:       		        col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px-1,py,pz,
1926: 					Cx,Cy,Cz,nx,nxy);
1927:       		        data[cnt++] = value[1];
1928:    	             }
1929:       	          }
1930:       	          col_nums[cnt] = new_row_index+nxy-nx;
1931:       	          data[cnt++] = value[1];
1932:       	          if (ix < nx*(px+1)-1)
1933:       	          {
1934:       	             col_nums[cnt] = new_row_index+nxy-nx+1;
1935:       	             data[cnt++] = value[1];
1936:       	          }
1937:       	          else
1938:       	          {
1939:       	             if (ix+1 < nx_global) 
1940:    	             {
1941:       		        col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px+1,py,pz,
1942: 					Cx,Cy,Cz,nx,nxy);
1943:       		        data[cnt++] = value[1];
[...]
1949:                   if (iy) 
1950:                   {
1951:       	             if (ix > nx*px)
1952:       	             {
1953:       		        col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px,py-1,pz,
1954: 					Cx,Cy,Cz,nx,nxy);
1955:       		        data[cnt++] = value[1];
1956:       	             }
1957:       	             else if (ix)
1958:       	             {
1959:       		        col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px-1,py-1,pz,
1960: 					Cx,Cy,Cz,nx,nxy);
1961:       		        data[cnt++] = value[1];
1962:       	             }
1963:       		     col_nums[cnt] =hypre_map27(ix,iy-1,iz+1,px,py-1,pz,
1964: 					Cx,Cy,Cz,nx,nxy);
1965:       		     data[cnt++] = value[1];
1966:       	             if (ix < nx*(px+1)-1)
1967:       	             {
1968:       		        col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px,py-1,pz,
1969: 					Cx,Cy,Cz,nx,nxy);
1970:       		        data[cnt++] = value[1];
1971:       	             }
1972:       	             else if (ix < nx_global-1)
1973:       	             {
1974:       		        col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px+1,py-1,pz,
1975: 					Cx,Cy,Cz,nx,nxy);
1976:       		        data[cnt++] = value[1];
1977:       	             }
1978:                   }
1979:                }
1980:                if (ix > nx*px) 
1981:                {
1982:                   col_nums[cnt] = new_row_index+nxy-1;
1983:                   data[cnt++] = value[1];
1984:                }
1985:                else
1986:                {
1987:                   if (ix) 
1988:                   {
1989:       		     col_nums[cnt] =hypre_map27(ix-1,iy,iz+1,px-1,py,pz,
1990: 					Cx,Cy,Cz,nx,nxy);
1991:       		     data[cnt++] = value[1];
1992:                   }
1993:                }
1994:                col_nums[cnt] = new_row_index+nxy;
1995:                data[cnt++] = value[1];
1996:                if (ix+1 < nx*(px+1)) 
1997:                {
1998:                   col_nums[cnt] = new_row_index+nxy+1;
1999:                   data[cnt++] = value[1];
2000:                }
2001:                else
2002:                {
2003:                   if (ix+1 < nx_global) 
2004:                   {
2005:       		     col_nums[cnt] =hypre_map27(ix+1,iy,iz+1,px+1,py,pz,
2006: 					Cx,Cy,Cz,nx,nxy);
2007:       		     data[cnt++] = value[1];
2008:                   }
2009:                }
2010:                if (iy+1 < ny*(py+1)) 
2011:                {
2012:       	          if (ix > nx*px)
2013:       	          {
2014:                      col_nums[cnt] = new_row_index+nxy+nx-1;
2015:                      data[cnt++] = value[1];
2016:       	          }
2017:       	          else
2018:       	          {
2019:       	             if (ix) 
2020:                      {
2021:       		        col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px-1,py,pz,
2022: 					Cx,Cy,Cz,nx,nxy);
2023:       		        data[cnt++] = value[1];
2024:                      }
2025:       	          }
2026:                   col_nums[cnt] = new_row_index+nxy+nx;
2027:                   data[cnt++] = value[1];
2028:       	          if (ix < nx*(px+1)-1)
2029:       	          {
2030:                      col_nums[cnt] = new_row_index+nxy+nx+1;
2031:                      data[cnt++] = value[1];
2032:       	          }
2033:       	          else
2034:       	          {
2035:       	             if (ix+1 < nx_global) 
2036:                      {
2037:       		        col_nums[cnt] =hypre_map27(ix+1,iy+1,iz+1,px+1,py,pz,
2038: 					Cx,Cy,Cz,nx,nxy);
2039:       		        data[cnt++] = value[1];
[...]
2045:                   if (iy+1 < ny_global) 
2046:                   {
2047:       	             if (ix > nx*px)
2048:       	             {
2049:       		        col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px,py+1,pz,
2050: 					Cx,Cy,Cz,nx,nxy);
2051:       		        data[cnt++] = value[1];
2052:       	             }
2053:       	             else if (ix)
2054:       	             {
2055:       		        col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px-1,py+1,pz,
2056: 					Cx,Cy,Cz,nx,nxy);
2057:       		        data[cnt++] = value[1];
2058:       	             }
2059:       		     col_nums[cnt] =hypre_map27(ix,iy+1,iz+1,px,py+1,pz,
2060: 					Cx,Cy,Cz,nx,nxy);
2061:       		     data[cnt++] = value[1];
2062:       	             if (ix < nx*(px+1)-1)
2063:       	             {
2064:       		        col_nums[cnt] =hypre_map27(ix+1,iy+1,iz+1,px,py+1,pz,
2065: 					Cx,Cy,Cz,nx,nxy);
2066:       		        data[cnt++] = value[1];
2067:       	             }
2068:       	             else if (ix < nx_global-1)
2069:       	             {
2070:       		        col_nums[cnt] =hypre_map27(ix+1,iy+1,iz+1,px+1,py+1,pz,
2071: 					Cx,Cy,Cz,nx,nxy);
2072:       		        data[cnt++] = value[1];
[...]
2079:                if (iz+1 < nz_global)
2080: 	       {
2081:                   if (iy > ny*py) 
2082:                   {
2083:       	             if (ix > nx*px)
2084:       	             {
2085:       		        col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px,py,pz+1,
2086: 					Cx,Cy,Cz,nx,nxy);
2087:       		        data[cnt++] = value[1];
2088:       	             }
2089:       	             else
2090:       	             {
2091:       	                if (ix) 
2092:       	                {
2093:       		           col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px-1,py,pz+1,
2094: 					Cx,Cy,Cz,nx,nxy);
2095:       		           data[cnt++] = value[1];
2096:       	                }
2097:       	             }
2098:       		     col_nums[cnt] =hypre_map27(ix,iy-1,iz+1,px,py,pz+1,
2099: 					Cx,Cy,Cz,nx,nxy);
2100:       		     data[cnt++] = value[1];
2101:       	             if (ix < nx*(px+1)-1)
2102:       	             {
2103:       		        col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px,py,pz+1,
2104: 					Cx,Cy,Cz,nx,nxy);
2105:       		        data[cnt++] = value[1];
2106:       	             }
2107:       	             else
2108:       	             {
2109:       	                if (ix+1 < nx_global) 
2110:       	                {
2111:       		           col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px+1,py,pz+1,
2112: 					Cx,Cy,Cz,nx,nxy);
2113:       		           data[cnt++] = value[1];
[...]
2119:                      if (iy) 
2120:                      {
2121:       	                if (ix > nx*px)
2122:       	                {
2123:       		           col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px,py-1,pz+1,
2124: 					Cx,Cy,Cz,nx,nxy);
2125:       		           data[cnt++] = value[1];
2126:       	                }
2127:       	                else if (ix)
2128:       	                {
2129:       		           col_nums[cnt] =hypre_map27(ix-1,iy-1,iz+1,px-1,py-1,pz+1,
2130: 					Cx,Cy,Cz,nx,nxy);
2131:       		           data[cnt++] = value[1];
2132:       	                }
2133:       		        col_nums[cnt] =hypre_map27(ix,iy-1,iz+1,px,py-1,pz+1,
2134: 					Cx,Cy,Cz,nx,nxy);
2135:       		        data[cnt++] = value[1];
2136:       	                if (ix < nx*(px+1)-1)
2137:       	                {
2138:       		           col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px,py-1,pz+1,
2139: 					Cx,Cy,Cz,nx,nxy);
2140:       		           data[cnt++] = value[1];
2141:       	                }
2142:       	                else if (ix < nx_global-1)
2143:       	                {
2144:       		           col_nums[cnt] =hypre_map27(ix+1,iy-1,iz+1,px+1,py-1,pz+1,
2145: 					Cx,Cy,Cz,nx,nxy);
2146:       		           data[cnt++] = value[1];
2147:       	                }
2148:                      }
2149:                   }
2150:                   if (ix > nx*px) 
2151:                   {
2152:       		     col_nums[cnt] =hypre_map27(ix-1,iy,iz+1,px,py,pz+1,
2153: 					Cx,Cy,Cz,nx,nxy);
2154:       		     data[cnt++] = value[1];
2155:                   }
2156:                   else
2157:                   {
2158:                      if (ix) 
2159:                      {
2160:       		        col_nums[cnt] =hypre_map27(ix-1,iy,iz+1,px-1,py,pz+1,
2161: 					Cx,Cy,Cz,nx,nxy);
2162:       		        data[cnt++] = value[1];
2163:                      }
2164:                   }
2165:       		  col_nums[cnt] =hypre_map27(ix,iy,iz+1,px,py,pz+1,
2166: 					Cx,Cy,Cz,nx,nxy);
2167:       		  data[cnt++] = value[1];
2168:                   if (ix+1 < nx*(px+1)) 
2169:                   {
2170:       		     col_nums[cnt] =hypre_map27(ix+1,iy,iz+1,px,py,pz+1,
2171: 					Cx,Cy,Cz,nx,nxy);
2172:       		     data[cnt++] = value[1];
2173:                   }
2174:                   else
2175:                   {
2176:                      if (ix+1 < nx_global) 
2177:                      {
2178:       		        col_nums[cnt] =hypre_map27(ix+1,iy,iz+1,px+1,py,pz+1,
2179: 					Cx,Cy,Cz,nx,nxy);
2180:       		        data[cnt++] = value[1];
2181:                      }
2182:                   }
2183:                   if (iy+1 < ny*(py+1)) 
2184:                   {
2185:       	             if (ix > nx*px)
2186:       	             {
2187:       		        col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px,py,pz+1,
2188: 					Cx,Cy,Cz,nx,nxy);
2189:       		        data[cnt++] = value[1];
2190:       	             }
2191:       	             else
2192:       	             {
2193:       	                if (ix) 
2194:       	                {
2195:       		           col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px-1,py,pz+1,
2196: 					Cx,Cy,Cz,nx,nxy);
2197:       		           data[cnt++] = value[1];
2198:       	                }
2199:       	             }
2200:       		     col_nums[cnt] =hypre_map27(ix,iy+1,iz+1,px,py,pz+1,
2201: 					Cx,Cy,Cz,nx,nxy);
2202:       		     data[cnt++] = value[1];
2203:       	             if (ix < nx*(px+1)-1)
[...]
2211:       	                if (ix+1 < nx_global) 
2212:       	                {
2213:       		           col_nums[cnt] =hypre_map27(ix+1,iy+1,iz+1,px+1,py,pz+1,
2214: 					Cx,Cy,Cz,nx,nxy);
2215:       		           data[cnt++] = value[1];
[...]
2221:                      if (iy+1 < ny_global) 
2222:                      {
2223:       	                if (ix > nx*px)
2224:       	                {
2225:       		           col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px,py+1,pz+1,
2226: 					Cx,Cy,Cz,nx,nxy);
2227:       		           data[cnt++] = value[1];
2228:       	                }
2229:       	                else if (ix)
2230:       	                {
2231:       		           col_nums[cnt] =hypre_map27(ix-1,iy+1,iz+1,px-1,py+1,pz+1,
2232: 					Cx,Cy,Cz,nx,nxy);
2233:       		           data[cnt++] = value[1];
2234:       	                }
2235:       		        col_nums[cnt] =hypre_map27(ix,iy+1,iz+1,px,py+1,pz+1,
2236: 					Cx,Cy,Cz,nx,nxy);
2237:       		        data[cnt++] = value[1];
2238:       	                if (ix < nx*(px+1)-1)
2239:       	                {
2240:       		           col_nums[cnt] =hypre_map27(ix+1,iy+1,iz+1,px,py+1,pz+1,
2241: 					Cx,Cy,Cz,nx,nxy);
2242:       		           data[cnt++] = value[1];
2243:       	                }
2244:       	                else if (ix < nx_global-1)
2245:       	                {
2246:       		           col_nums[cnt] =hypre_map27(ix+1,iy+1,iz+1,px+1,py+1,pz+1,
2247: 					Cx,Cy,Cz,nx,nxy);
2248:       		           data[cnt++] = value[1];
[...]
2254:             new_row_index++;
[...]
2344:    HYPRE_Int global_index = pz*Cz + py*Cy +px*Cx + iz*nxy + iy*nx + ix;
2345: 
2346:    return global_index;
