PandA-2024.02
tb.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include "module.h"
3 int main()
4 {
5  int in_a[A_ROWS][A_COLS];
6  int in_b[B_ROWS][B_COLS];
7  int in_c[B_ROWS][B_COLS];
8  int in_c_golden[B_ROWS][B_COLS] = {{537729008,538778080,539827152,540876224,541925296,542974368,544023440,545072512,546121584,547170656,548219728,549268800,550317872,551366944,552416016,553465088,554514160,555563232,556612304,557661376,558710448,559759520,560808592,561857664,562906736,563955808,565004880,566053952,567103024,568152096,569201168,570250240},
9 {571792368,572842464,573892560,574942656,575992752,577042848,578092944,579143040,580193136,581243232,582293328,583343424,584393520,585443616,586493712,587543808,588593904,589644000,590694096,591744192,592794288,593844384,594894480,595944576,596994672,598044768,599094864,600144960,601195056,602245152,603295248,604345344},
10 {605855728,606906848,607957968,609009088,610060208,611111328,612162448,613213568,614264688,615315808,616366928,617418048,618469168,619520288,620571408,621622528,622673648,623724768,624775888,625827008,626878128,627929248,628980368,630031488,631082608,632133728,633184848,634235968,635287088,636338208,637389328,638440448},
11 {639919088,640971232,642023376,643075520,644127664,645179808,646231952,647284096,648336240,649388384,650440528,651492672,652544816,653596960,654649104,655701248,656753392,657805536,658857680,659909824,660961968,662014112,663066256,664118400,665170544,666222688,667274832,668326976,669379120,670431264,671483408,672535552},
12 {673982448,675035616,676088784,677141952,678195120,679248288,680301456,681354624,682407792,683460960,684514128,685567296,686620464,687673632,688726800,689779968,690833136,691886304,692939472,693992640,695045808,696098976,697152144,698205312,699258480,700311648,701364816,702417984,703471152,704524320,705577488,706630656},
13 {708045808,709100000,710154192,711208384,712262576,713316768,714370960,715425152,716479344,717533536,718587728,719641920,720696112,721750304,722804496,723858688,724912880,725967072,727021264,728075456,729129648,730183840,731238032,732292224,733346416,734400608,735454800,736508992,737563184,738617376,739671568,740725760},
14 {742109168,743164384,744219600,745274816,746330032,747385248,748440464,749495680,750550896,751606112,752661328,753716544,754771760,755826976,756882192,757937408,758992624,760047840,761103056,762158272,763213488,764268704,765323920,766379136,767434352,768489568,769544784,770600000,771655216,772710432,773765648,774820864},
15 {776172528,777228768,778285008,779341248,780397488,781453728,782509968,783566208,784622448,785678688,786734928,787791168,788847408,789903648,790959888,792016128,793072368,794128608,795184848,796241088,797297328,798353568,799409808,800466048,801522288,802578528,803634768,804691008,805747248,806803488,807859728,808915968},
16 {810235888,811293152,812350416,813407680,814464944,815522208,816579472,817636736,818694000,819751264,820808528,821865792,822923056,823980320,825037584,826094848,827152112,828209376,829266640,830323904,831381168,832438432,833495696,834552960,835610224,836667488,837724752,838782016,839839280,840896544,841953808,843011072},
17 {844299248,845357536,846415824,847474112,848532400,849590688,850648976,851707264,852765552,853823840,854882128,855940416,856998704,858056992,859115280,860173568,861231856,862290144,863348432,864406720,865465008,866523296,867581584,868639872,869698160,870756448,871814736,872873024,873931312,874989600,876047888,877106176},
18 {878362608,879421920,880481232,881540544,882599856,883659168,884718480,885777792,886837104,887896416,888955728,890015040,891074352,892133664,893192976,894252288,895311600,896370912,897430224,898489536,899548848,900608160,901667472,902726784,903786096,904845408,905904720,906964032,908023344,909082656,910141968,911201280},
19 {912425968,913486304,914546640,915606976,916667312,917727648,918787984,919848320,920908656,921968992,923029328,924089664,925150000,926210336,927270672,928331008,929391344,930451680,931512016,932572352,933632688,934693024,935753360,936813696,937874032,938934368,939994704,941055040,942115376,943175712,944236048,945296384},
20 {946489328,947550688,948612048,949673408,950734768,951796128,952857488,953918848,954980208,956041568,957102928,958164288,959225648,960287008,961348368,962409728,963471088,964532448,965593808,966655168,967716528,968777888,969839248,970900608,971961968,973023328,974084688,975146048,976207408,977268768,978330128,979391488},
21 {980552688,981615072,982677456,983739840,984802224,985864608,986926992,987989376,989051760,990114144,991176528,992238912,993301296,994363680,995426064,996488448,997550832,998613216,999675600,1000737984,1001800368,1002862752,1003925136,1004987520,1006049904,1007112288,1008174672,1009237056,1010299440,1011361824,1012424208,1013486592},
22 {1014616048,1015679456,1016742864,1017806272,1018869680,1019933088,1020996496,1022059904,1023123312,1024186720,1025250128,1026313536,1027376944,1028440352,1029503760,1030567168,1031630576,1032693984,1033757392,1034820800,1035884208,1036947616,1038011024,1039074432,1040137840,1041201248,1042264656,1043328064,1044391472,1045454880,1046518288,1047581696},
23 {1048679408,1049743840,1050808272,1051872704,1052937136,1054001568,1055066000,1056130432,1057194864,1058259296,1059323728,1060388160,1061452592,1062517024,1063581456,1064645888,1065710320,1066774752,1067839184,1068903616,1069968048,1071032480,1072096912,1073161344,1074225776,1075290208,1076354640,1077419072,1078483504,1079547936,1080612368,1081676800},
24 {1082742768,1083808224,1084873680,1085939136,1087004592,1088070048,1089135504,1090200960,1091266416,1092331872,1093397328,1094462784,1095528240,1096593696,1097659152,1098724608,1099790064,1100855520,1101920976,1102986432,1104051888,1105117344,1106182800,1107248256,1108313712,1109379168,1110444624,1111510080,1112575536,1113640992,1114706448,1115771904},
25 {1116806128,1117872608,1118939088,1120005568,1121072048,1122138528,1123205008,1124271488,1125337968,1126404448,1127470928,1128537408,1129603888,1130670368,1131736848,1132803328,1133869808,1134936288,1136002768,1137069248,1138135728,1139202208,1140268688,1141335168,1142401648,1143468128,1144534608,1145601088,1146667568,1147734048,1148800528,1149867008},
26 {1150869488,1151936992,1153004496,1154072000,1155139504,1156207008,1157274512,1158342016,1159409520,1160477024,1161544528,1162612032,1163679536,1164747040,1165814544,1166882048,1167949552,1169017056,1170084560,1171152064,1172219568,1173287072,1174354576,1175422080,1176489584,1177557088,1178624592,1179692096,1180759600,1181827104,1182894608,1183962112},
27 {1184932848,1186001376,1187069904,1188138432,1189206960,1190275488,1191344016,1192412544,1193481072,1194549600,1195618128,1196686656,1197755184,1198823712,1199892240,1200960768,1202029296,1203097824,1204166352,1205234880,1206303408,1207371936,1208440464,1209508992,1210577520,1211646048,1212714576,1213783104,1214851632,1215920160,1216988688,1218057216},
28 {1218996208,1220065760,1221135312,1222204864,1223274416,1224343968,1225413520,1226483072,1227552624,1228622176,1229691728,1230761280,1231830832,1232900384,1233969936,1235039488,1236109040,1237178592,1238248144,1239317696,1240387248,1241456800,1242526352,1243595904,1244665456,1245735008,1246804560,1247874112,1248943664,1250013216,1251082768,1252152320},
29 {1253059568,1254130144,1255200720,1256271296,1257341872,1258412448,1259483024,1260553600,1261624176,1262694752,1263765328,1264835904,1265906480,1266977056,1268047632,1269118208,1270188784,1271259360,1272329936,1273400512,1274471088,1275541664,1276612240,1277682816,1278753392,1279823968,1280894544,1281965120,1283035696,1284106272,1285176848,1286247424},
30 {1287122928,1288194528,1289266128,1290337728,1291409328,1292480928,1293552528,1294624128,1295695728,1296767328,1297838928,1298910528,1299982128,1301053728,1302125328,1303196928,1304268528,1305340128,1306411728,1307483328,1308554928,1309626528,1310698128,1311769728,1312841328,1313912928,1314984528,1316056128,1317127728,1318199328,1319270928,1320342528},
31 {1321186288,1322258912,1323331536,1324404160,1325476784,1326549408,1327622032,1328694656,1329767280,1330839904,1331912528,1332985152,1334057776,1335130400,1336203024,1337275648,1338348272,1339420896,1340493520,1341566144,1342638768,1343711392,1344784016,1345856640,1346929264,1348001888,1349074512,1350147136,1351219760,1352292384,1353365008,1354437632},
32 {1355249648,1356323296,1357396944,1358470592,1359544240,1360617888,1361691536,1362765184,1363838832,1364912480,1365986128,1367059776,1368133424,1369207072,1370280720,1371354368,1372428016,1373501664,1374575312,1375648960,1376722608,1377796256,1378869904,1379943552,1381017200,1382090848,1383164496,1384238144,1385311792,1386385440,1387459088,1388532736},
33 {1389313008,1390387680,1391462352,1392537024,1393611696,1394686368,1395761040,1396835712,1397910384,1398985056,1400059728,1401134400,1402209072,1403283744,1404358416,1405433088,1406507760,1407582432,1408657104,1409731776,1410806448,1411881120,1412955792,1414030464,1415105136,1416179808,1417254480,1418329152,1419403824,1420478496,1421553168,1422627840},
34 {1423376368,1424452064,1425527760,1426603456,1427679152,1428754848,1429830544,1430906240,1431981936,1433057632,1434133328,1435209024,1436284720,1437360416,1438436112,1439511808,1440587504,1441663200,1442738896,1443814592,1444890288,1445965984,1447041680,1448117376,1449193072,1450268768,1451344464,1452420160,1453495856,1454571552,1455647248,1456722944},
35 {1457439728,1458516448,1459593168,1460669888,1461746608,1462823328,1463900048,1464976768,1466053488,1467130208,1468206928,1469283648,1470360368,1471437088,1472513808,1473590528,1474667248,1475743968,1476820688,1477897408,1478974128,1480050848,1481127568,1482204288,1483281008,1484357728,1485434448,1486511168,1487587888,1488664608,1489741328,1490818048},
36 {1491503088,1492580832,1493658576,1494736320,1495814064,1496891808,1497969552,1499047296,1500125040,1501202784,1502280528,1503358272,1504436016,1505513760,1506591504,1507669248,1508746992,1509824736,1510902480,1511980224,1513057968,1514135712,1515213456,1516291200,1517368944,1518446688,1519524432,1520602176,1521679920,1522757664,1523835408,1524913152},
37 {1525566448,1526645216,1527723984,1528802752,1529881520,1530960288,1532039056,1533117824,1534196592,1535275360,1536354128,1537432896,1538511664,1539590432,1540669200,1541747968,1542826736,1543905504,1544984272,1546063040,1547141808,1548220576,1549299344,1550378112,1551456880,1552535648,1553614416,1554693184,1555771952,1556850720,1557929488,1559008256},
38 {1559629808,1560709600,1561789392,1562869184,1563948976,1565028768,1566108560,1567188352,1568268144,1569347936,1570427728,1571507520,1572587312,1573667104,1574746896,1575826688,1576906480,1577986272,1579066064,1580145856,1581225648,1582305440,1583385232,1584465024,1585544816,1586624608,1587704400,1588784192,1589863984,1590943776,1592023568,1593103360},
39 {1593693168,1594773984,1595854800,1596935616,1598016432,1599097248,1600178064,1601258880,1602339696,1603420512,1604501328,1605582144,1606662960,1607743776,1608824592,1609905408,1610986224,1612067040,1613147856,1614228672,1615309488,1616390304,1617471120,1618551936,1619632752,1620713568,1621794384,1622875200,1623956016,1625036832,1626117648,1627198464}};
40  int differences = 0;
41  int diff;
42  #define BIG_NUMBER (1U<<15)
43  unsigned int index_i, index_j;
44  for(index_i=0; index_i < A_ROWS; ++index_i)
45  for(index_j=0; index_j < A_COLS; ++index_j)
46  {
47  in_a[index_i][index_j] = BIG_NUMBER + index_i*A_COLS + index_j;
48  }
49  for(index_i=0; index_i < B_ROWS; ++index_i)
50  for(index_j=0; index_j < B_COLS; ++index_j)
51  {
52  in_b[index_i][index_j] = BIG_NUMBER + index_i*B_COLS + index_j + 1;
53  }
54  for(index_i=0; index_i < B_ROWS; ++index_i)
55  for(index_j=0; index_j < B_COLS; ++index_j)
56  {
57  in_c[index_i][index_j] = 0;
58  }
59  mm(in_a, in_b, in_c);
60  for(index_i=0; index_i < A_ROWS; ++index_i)
61  {
62  for(index_j=0; index_j < A_COLS; ++index_j)
63  {
64  diff = in_c_golden[index_i][index_j] - in_c[index_i][index_j];
65  if(diff != 0) ++differences;
66  }
67  }
68  if(differences==0) printf("PASSES\n");
69  return differences;
70 }
int main()
Definition: tb.c:526
#define A_COLS
Definition: module.h:2
void mm(int in_a[A_ROWS][A_COLS], int in_b[A_COLS][B_COLS], int out_c[A_ROWS][B_COLS])
Definition: module.c:6
#define A_ROWS
Definition: module.h:1
#define B_ROWS
Definition: module.h:3
#define BIG_NUMBER
#define B_COLS
Definition: module.h:4

Generated on Mon Feb 12 2024 13:02:49 for PandA-2024.02 by doxygen 1.8.13