1150   switch (array_type) {
 
 1152         switch (array_dim) {
 
 1153           case 1: _XMPC_unpack_array_1_BOOL(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1154           case 2: _XMPC_unpack_array_2_BOOL(dst, buffer, l, u, s, d); 
break;
 
 1155           case 3: _XMPC_unpack_array_3_BOOL(dst, buffer, l, u, s, d); 
break;
 
 1156           case 4: _XMPC_unpack_array_4_BOOL(dst, buffer, l, u, s, d); 
break;
 
 1157           case 5: _XMPC_unpack_array_5_BOOL(dst, buffer, l, u, s, d); 
break;
 
 1158           case 6: _XMPC_unpack_array_6_BOOL(dst, buffer, l, u, s, d); 
break;
 
 1159           case 7: _XMPC_unpack_array_7_BOOL(dst, buffer, l, u, s, d); 
break;
 
 1160           default: 
_XMP_fatal(
"wrong array dimension");
 
 1164         switch (array_dim) {
 
 1165           case 1: _XMPC_unpack_array_1_CHAR(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1166           case 2: _XMPC_unpack_array_2_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1167           case 3: _XMPC_unpack_array_3_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1168           case 4: _XMPC_unpack_array_4_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1169           case 5: _XMPC_unpack_array_5_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1170           case 6: _XMPC_unpack_array_6_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1171           case 7: _XMPC_unpack_array_7_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1172           default: 
_XMP_fatal(
"wrong array dimension");
 
 1176         switch (array_dim) {
 
 1177           case 1: _XMPC_unpack_array_1_UNSIGNED_CHAR(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1178           case 2: _XMPC_unpack_array_2_UNSIGNED_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1179           case 3: _XMPC_unpack_array_3_UNSIGNED_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1180           case 4: _XMPC_unpack_array_4_UNSIGNED_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1181           case 5: _XMPC_unpack_array_5_UNSIGNED_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1182           case 6: _XMPC_unpack_array_6_UNSIGNED_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1183           case 7: _XMPC_unpack_array_7_UNSIGNED_CHAR(dst, buffer, l, u, s, d); 
break;
 
 1184           default: 
_XMP_fatal(
"wrong array dimension");
 
 1188         switch (array_dim) {
 
 1189           case 1: _XMPC_unpack_array_1_SHORT(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1190           case 2: _XMPC_unpack_array_2_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1191           case 3: _XMPC_unpack_array_3_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1192           case 4: _XMPC_unpack_array_4_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1193           case 5: _XMPC_unpack_array_5_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1194           case 6: _XMPC_unpack_array_6_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1195           case 7: _XMPC_unpack_array_7_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1196           default: 
_XMP_fatal(
"wrong array dimension");
 
 1200         switch (array_dim) {
 
 1201           case 1: _XMPC_unpack_array_1_UNSIGNED_SHORT(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1202           case 2: _XMPC_unpack_array_2_UNSIGNED_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1203           case 3: _XMPC_unpack_array_3_UNSIGNED_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1204           case 4: _XMPC_unpack_array_4_UNSIGNED_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1205           case 5: _XMPC_unpack_array_5_UNSIGNED_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1206           case 6: _XMPC_unpack_array_6_UNSIGNED_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1207           case 7: _XMPC_unpack_array_7_UNSIGNED_SHORT(dst, buffer, l, u, s, d); 
break;
 
 1208           default: 
_XMP_fatal(
"wrong array dimension");
 
 1212         switch (array_dim) {
 
 1213           case 1: _XMPC_unpack_array_1_INT(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1214           case 2: _XMPC_unpack_array_2_INT(dst, buffer, l, u, s, d); 
break;
 
 1215           case 3: _XMPC_unpack_array_3_INT(dst, buffer, l, u, s, d); 
break;
 
 1216           case 4: _XMPC_unpack_array_4_INT(dst, buffer, l, u, s, d); 
break;
 
 1217           case 5: _XMPC_unpack_array_5_INT(dst, buffer, l, u, s, d); 
break;
 
 1218           case 6: _XMPC_unpack_array_6_INT(dst, buffer, l, u, s, d); 
break;
 
 1219           case 7: _XMPC_unpack_array_7_INT(dst, buffer, l, u, s, d); 
break;
 
 1220           default: 
_XMP_fatal(
"wrong array dimension");
 
 1224         switch (array_dim) {
 
 1225           case 1: _XMPC_unpack_array_1_UNSIGNED_INT(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1226           case 2: _XMPC_unpack_array_2_UNSIGNED_INT(dst, buffer, l, u, s, d); 
break;
 
 1227           case 3: _XMPC_unpack_array_3_UNSIGNED_INT(dst, buffer, l, u, s, d); 
break;
 
 1228           case 4: _XMPC_unpack_array_4_UNSIGNED_INT(dst, buffer, l, u, s, d); 
break;
 
 1229           case 5: _XMPC_unpack_array_5_UNSIGNED_INT(dst, buffer, l, u, s, d); 
break;
 
 1230           case 6: _XMPC_unpack_array_6_UNSIGNED_INT(dst, buffer, l, u, s, d); 
break;
 
 1231           case 7: _XMPC_unpack_array_7_UNSIGNED_INT(dst, buffer, l, u, s, d); 
break;
 
 1232           default: 
_XMP_fatal(
"wrong array dimension");
 
 1236         switch (array_dim) {
 
 1237           case 1: _XMPC_unpack_array_1_LONG(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1238           case 2: _XMPC_unpack_array_2_LONG(dst, buffer, l, u, s, d); 
break;
 
 1239           case 3: _XMPC_unpack_array_3_LONG(dst, buffer, l, u, s, d); 
break;
 
 1240           case 4: _XMPC_unpack_array_4_LONG(dst, buffer, l, u, s, d); 
break;
 
 1241           case 5: _XMPC_unpack_array_5_LONG(dst, buffer, l, u, s, d); 
break;
 
 1242           case 6: _XMPC_unpack_array_6_LONG(dst, buffer, l, u, s, d); 
break;
 
 1243           case 7: _XMPC_unpack_array_7_LONG(dst, buffer, l, u, s, d); 
break;
 
 1244           default: 
_XMP_fatal(
"wrong array dimension");
 
 1248         switch (array_dim) {
 
 1249           case 1: _XMPC_unpack_array_1_UNSIGNED_LONG(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1250           case 2: _XMPC_unpack_array_2_UNSIGNED_LONG(dst, buffer, l, u, s, d); 
break;
 
 1251           case 3: _XMPC_unpack_array_3_UNSIGNED_LONG(dst, buffer, l, u, s, d); 
break;
 
 1252           case 4: _XMPC_unpack_array_4_UNSIGNED_LONG(dst, buffer, l, u, s, d); 
break;
 
 1253           case 5: _XMPC_unpack_array_5_UNSIGNED_LONG(dst, buffer, l, u, s, d); 
break;
 
 1254           case 6: _XMPC_unpack_array_6_UNSIGNED_LONG(dst, buffer, l, u, s, d); 
break;
 
 1255           case 7: _XMPC_unpack_array_7_UNSIGNED_LONG(dst, buffer, l, u, s, d); 
break;
 
 1256           default: 
_XMP_fatal(
"wrong array dimension");
 
 1260         switch (array_dim) {
 
 1261           case 1: _XMPC_unpack_array_1_LONGLONG(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1262           case 2: _XMPC_unpack_array_2_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1263           case 3: _XMPC_unpack_array_3_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1264           case 4: _XMPC_unpack_array_4_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1265           case 5: _XMPC_unpack_array_5_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1266           case 6: _XMPC_unpack_array_6_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1267           case 7: _XMPC_unpack_array_7_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1268           default: 
_XMP_fatal(
"wrong array dimension");
 
 1272         switch (array_dim) {
 
 1273           case 1: _XMPC_unpack_array_1_UNSIGNED_LONGLONG(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1274           case 2: _XMPC_unpack_array_2_UNSIGNED_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1275           case 3: _XMPC_unpack_array_3_UNSIGNED_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1276           case 4: _XMPC_unpack_array_4_UNSIGNED_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1277           case 5: _XMPC_unpack_array_5_UNSIGNED_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1278           case 6: _XMPC_unpack_array_6_UNSIGNED_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1279           case 7: _XMPC_unpack_array_7_UNSIGNED_LONGLONG(dst, buffer, l, u, s, d); 
break;
 
 1280           default: 
_XMP_fatal(
"wrong array dimension");
 
 1284         switch (array_dim) {
 
 1285           case 1: _XMPC_unpack_array_1_FLOAT(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1286           case 2: _XMPC_unpack_array_2_FLOAT(dst, buffer, l, u, s, d); 
break;
 
 1287           case 3: _XMPC_unpack_array_3_FLOAT(dst, buffer, l, u, s, d); 
break;
 
 1288           case 4: _XMPC_unpack_array_4_FLOAT(dst, buffer, l, u, s, d); 
break;
 
 1289           case 5: _XMPC_unpack_array_5_FLOAT(dst, buffer, l, u, s, d); 
break;
 
 1290           case 6: _XMPC_unpack_array_6_FLOAT(dst, buffer, l, u, s, d); 
break;
 
 1291           case 7: _XMPC_unpack_array_7_FLOAT(dst, buffer, l, u, s, d); 
break;
 
 1292           default: 
_XMP_fatal(
"wrong array dimension");
 
 1296         switch (array_dim) {
 
 1297           case 1: _XMPC_unpack_array_1_DOUBLE(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1298           case 2: _XMPC_unpack_array_2_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1299           case 3: _XMPC_unpack_array_3_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1300           case 4: _XMPC_unpack_array_4_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1301           case 5: _XMPC_unpack_array_5_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1302           case 6: _XMPC_unpack_array_6_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1303           case 7: _XMPC_unpack_array_7_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1304           default: 
_XMP_fatal(
"wrong array dimension");
 
 1308         switch (array_dim) {
 
 1309           case 1: _XMPC_unpack_array_1_LONG_DOUBLE(dst, buffer, l[0], u[0], s[0]); 
break;
 
 1310           case 2: _XMPC_unpack_array_2_LONG_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1311           case 3: _XMPC_unpack_array_3_LONG_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1312           case 4: _XMPC_unpack_array_4_LONG_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1313           case 5: _XMPC_unpack_array_5_LONG_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1314           case 6: _XMPC_unpack_array_6_LONG_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1315           case 7: _XMPC_unpack_array_7_LONG_DOUBLE(dst, buffer, l, u, s, d); 
break;
 
 1316           default: 
_XMP_fatal(
"wrong array dimension");
 
 1332       _XMP_fatal(
"unknown data type for unpacking arrays");