test_new.c 7.2 KB
Newer Older
饶先宏's avatar
饶先宏 已提交
1 2 3
int testadd()
{
	int i;
饶先宏's avatar
饶先宏 已提交
4 5 6
	int a[16] = {-93274203, -76479575, -1782331155, 2052420465, 523347765, -582531015, -1687389571, 715301377, -1214618939, -176709431, -438992883, 1644848273, -911478187, 2052263257, -190850659, -763512031, };
	int b[16] = {1118302168, 499397580, -1694632960, -1642068876, -929597144, 807904796, 1843273552, -1723418428, 64980600, -926098324, -2066919776, -898780908, 645732296, -926886212, 619217392, 532802916, };
	int c[16] = {1025027965, 422918005, 818003181, 410351589, -406249379, 225373781, 155883981, -1008117051, -1149638339, -1102807755, 1789054637, 746067365, -265745891, 1125377045, 428366733, -230709115, };
饶先宏's avatar
饶先宏 已提交
7 8 9 10 11 12 13 14 15
	for (i = 0; i < 16; i++) {
		if (a[i] + b[i] != c[i])
			return i;
	}
	return -1;
}
int testsub()
{
	int i;
饶先宏's avatar
饶先宏 已提交
16 17 18
	int a[16] = {-93274203, -76479575, -1782331155, 2052420465, 523347765, -582531015, -1687389571, 715301377, -1214618939, -176709431, -438992883, 1644848273, -911478187, 2052263257, -190850659, -763512031, };
	int b[16] = {1118302168, 499397580, -1694632960, -1642068876, -929597144, 807904796, 1843273552, -1723418428, 64980600, -926098324, -2066919776, -898780908, 645732296, -926886212, 619217392, 532802916, };
	int c[16] = {-1211576371, -575877155, -87698195, -600477955, 1452944909, -1390435811, 764304173, -1856247491, -1279599539, 749388893, 1627926893, -1751338115, -1557210483, -1315817827, -810068051, -1296314947, };
饶先宏's avatar
饶先宏 已提交
19 20 21 22 23 24 25 26 27
	for (i = 0; i < 16; i++) {
		if (a[i] - b[i] != c[i])
			return i;
	}
	return -1;
}
int testmul()
{
	int i;
饶先宏's avatar
饶先宏 已提交
28 29 30
	int a[16] = {-93274203, -76479575, -1782331155, 2052420465, 523347765, -582531015, -1687389571, 715301377, -1214618939, -176709431, -438992883, 1644848273, -911478187, 2052263257, -190850659, -763512031, };
	int b[16] = {1118302168, 499397580, -1694632960, -1642068876, -929597144, 807904796, 1843273552, -1723418428, 64980600, -926098324, -2066919776, -898780908, 645732296, -926886212, 619217392, 532802916, };
	int c[16] = {548388408, -735210068, -1078270976, -257551564, 1611476296, 491772988, 639724048, 1849344196, 950823512, -2066706228, -253952480, 336927828, -224660120, -857328804, 751575088, -1304713756, };
饶先宏's avatar
饶先宏 已提交
31 32 33 34 35 36 37 38 39
	for (i = 0; i < 16; i++) {
		if (a[i] * b[i] != c[i])
			return i;
	}
	return -1;
}
int testdiv()
{
	int i;
饶先宏's avatar
饶先宏 已提交
40 41 42
	int a[16] = {-93274203, -76479575, -1782331155, 2052420465, 523347765, -582531015, -1687389571, 715301377, -1214618939, -176709431, -438992883, 1644848273, -911478187, 2052263257, -190850659, -763512031, };
	int b[16] = {1118302168, 499397580, -1694632960, -1642068876, -929597144, 807904796, 1843273552, -1723418428, 64980600, -926098324, -2066919776, -898780908, 645732296, -926886212, 619217392, 532802916, };
	int c[16] = {0, 0, 1, -1, 0, 0, 0, 0, -18, 0, 0, -1, -1, -2, 0, -1, };
饶先宏's avatar
饶先宏 已提交
43 44 45 46 47 48 49 50 51
	for (i = 0; i < 16; i++) {
		if (a[i] / b[i] != c[i])
			return i;
	}
	return -1;
}
int testmod()
{
	int i;
饶先宏's avatar
饶先宏 已提交
52 53 54
	int a[16] = {-93274203, -76479575, -1782331155, 2052420465, 523347765, -582531015, -1687389571, 715301377, -1214618939, -176709431, -438992883, 1644848273, -911478187, 2052263257, -190850659, -763512031, };
	int b[16] = {1118302168, 499397580, -1694632960, -1642068876, -929597144, 807904796, 1843273552, -1723418428, 64980600, -926098324, -2066919776, -898780908, 645732296, -926886212, 619217392, 532802916, };
	int c[16] = {-93274203, -76479575, -87698195, 410351589, 523347765, -582531015, -1687389571, 715301377, -44968139, -176709431, -438992883, 746067365, -265745891, 198490833, -190850659, -230709115, };
饶先宏's avatar
饶先宏 已提交
55 56 57 58 59 60 61 62 63
	for (i = 0; i < 16; i++) {
		if (a[i] % b[i] != c[i])
			return i;
	}
	return -1;
}
int testaddu()
{
	int i;
饶先宏's avatar
饶先宏 已提交
64 65 66
	unsigned int a[16] = {0x2368eb3e, 0xdffcef62, 0xfff97ec6, 0x344e1d6a, 0xce038f4e, 0x6a1fd872, 0x94ca3cd6, 0xa7af407a, 0x67a4a75e, 0x258d7582, 0x667deee6, 0x571f978a, 0x8e55336e, 0xe31ec692, 0x59bd94f6, 0x6c18229a, };
	unsigned int b[16] = {0x36225509, 0x5debd89d, 0xc238ba71, 0x7b4a6e85, 0x3616a8d9, 0xc09b5d6d, 0xb072c041, 0x57a74555, 0x7bc7a0a9, 0x833ac63d, 0x0cd3ea11, 0x25a68025, 0x911a3c79, 0xd73f130d, 0x0d6137e1, 0x8cdd1ef5, };
	unsigned int c[16] = {0x598b4047, 0x3de8c7ff, 0xc2323937, 0xaf988bef, 0x041a3827, 0x2abb35df, 0x453cfd17, 0xff5685cf, 0xe36c4807, 0xa8c83bbf, 0x7351d8f7, 0x7cc617af, 0x1f6f6fe7, 0xba5dd99f, 0x671eccd7, 0xf8f5418f, };
饶先宏's avatar
饶先宏 已提交
67 68 69 70 71 72 73 74 75
	for (i = 0; i < 16; i++) {
		if (a[i] + b[i] != c[i])
			return i;
	}
	return -1;
}
int testsubu()
{
	int i;
饶先宏's avatar
饶先宏 已提交
76 77 78
	unsigned int a[16] = {0x2368eb3e, 0xdffcef62, 0xfff97ec6, 0x344e1d6a, 0xce038f4e, 0x6a1fd872, 0x94ca3cd6, 0xa7af407a, 0x67a4a75e, 0x258d7582, 0x667deee6, 0x571f978a, 0x8e55336e, 0xe31ec692, 0x59bd94f6, 0x6c18229a, };
	unsigned int b[16] = {0x36225509, 0x5debd89d, 0xc238ba71, 0x7b4a6e85, 0x3616a8d9, 0xc09b5d6d, 0xb072c041, 0x57a74555, 0x7bc7a0a9, 0x833ac63d, 0x0cd3ea11, 0x25a68025, 0x911a3c79, 0xd73f130d, 0x0d6137e1, 0x8cdd1ef5, };
	unsigned int c[16] = {0xed469635, 0x821116c5, 0x3dc0c455, 0xb903aee5, 0x97ece675, 0xa9847b05, 0xe4577c95, 0x5007fb25, 0xebdd06b5, 0xa252af45, 0x59aa04d5, 0x31791765, 0xfd3af6f5, 0x0bdfb385, 0x4c5c5d15, 0xdf3b03a5, };
饶先宏's avatar
饶先宏 已提交
79 80 81 82 83 84 85 86 87
	for (i = 0; i < 16; i++) {
		if (a[i] - b[i] != c[i])
			return i;
	}
	return -1;
}
int testmulu()
{
	int i;
饶先宏's avatar
饶先宏 已提交
88 89 90
	unsigned int a[16] = {0x2368eb3e, 0xdffcef62, 0xfff97ec6, 0x344e1d6a, 0xce038f4e, 0x6a1fd872, 0x94ca3cd6, 0xa7af407a, 0x67a4a75e, 0x258d7582, 0x667deee6, 0x571f978a, 0x8e55336e, 0xe31ec692, 0x59bd94f6, 0x6c18229a, };
	unsigned int b[16] = {0x36225509, 0x5debd89d, 0xc238ba71, 0x7b4a6e85, 0x3616a8d9, 0xc09b5d6d, 0xb072c041, 0x57a74555, 0x7bc7a0a9, 0x833ac63d, 0x0cd3ea11, 0x25a68025, 0x911a3c79, 0xd73f130d, 0x0d6137e1, 0x8cdd1ef5, };
	unsigned int c[16] = {0x6707db2e, 0x210f7f1a, 0x0a8cd166, 0x2bdcd412, 0xbbc3a91e, 0x4e36928a, 0xac45f256, 0x6f274a82, 0x985f3d0e, 0x810b8bfa, 0x9a4d1946, 0x98d1e6f2, 0xc57f16fe, 0x4d3aeb6a, 0x89d6c636, 0x5e192962, };
饶先宏's avatar
饶先宏 已提交
91 92 93 94 95 96 97 98 99
	for (i = 0; i < 16; i++) {
		if (a[i] * b[i] != c[i])
			return i;
	}
	return -1;
}
int testdivu()
{
	int i;
饶先宏's avatar
饶先宏 已提交
100 101 102
	unsigned int a[16] = {0x2368eb3e, 0xdffcef62, 0xfff97ec6, 0x344e1d6a, 0xce038f4e, 0x6a1fd872, 0x94ca3cd6, 0xa7af407a, 0x67a4a75e, 0x258d7582, 0x667deee6, 0x571f978a, 0x8e55336e, 0xe31ec692, 0x59bd94f6, 0x6c18229a, };
	unsigned int b[16] = {0x36225509, 0x5debd89d, 0xc238ba71, 0x7b4a6e85, 0x3616a8d9, 0xc09b5d6d, 0xb072c041, 0x57a74555, 0x7bc7a0a9, 0x833ac63d, 0x0cd3ea11, 0x25a68025, 0x911a3c79, 0xd73f130d, 0x0d6137e1, 0x8cdd1ef5, };
	unsigned int c[16] = {0x00000000, 0x00000002, 0x00000001, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000007, 0x00000002, 0x00000000, 0x00000001, 0x00000006, 0x00000000, };
饶先宏's avatar
饶先宏 已提交
103 104 105 106 107 108 109 110 111
	for (i = 0; i < 16; i++) {
		if (a[i] / b[i] != c[i])
			return i;
	}
	return -1;
}
int testmodu()
{
	int i;
饶先宏's avatar
饶先宏 已提交
112 113 114
	unsigned int a[16] = {0x2368eb3e, 0xdffcef62, 0xfff97ec6, 0x344e1d6a, 0xce038f4e, 0x6a1fd872, 0x94ca3cd6, 0xa7af407a, 0x67a4a75e, 0x258d7582, 0x667deee6, 0x571f978a, 0x8e55336e, 0xe31ec692, 0x59bd94f6, 0x6c18229a, };
	unsigned int b[16] = {0x36225509, 0x5debd89d, 0xc238ba71, 0x7b4a6e85, 0x3616a8d9, 0xc09b5d6d, 0xb072c041, 0x57a74555, 0x7bc7a0a9, 0x833ac63d, 0x0cd3ea11, 0x25a68025, 0x911a3c79, 0xd73f130d, 0x0d6137e1, 0x8cdd1ef5, };
	unsigned int c[16] = {0x2368eb3e, 0x24253e28, 0x3dc0c455, 0x344e1d6a, 0x2bbf94c3, 0x6a1fd872, 0x94ca3cd6, 0x5007fb25, 0x67a4a75e, 0x258d7582, 0x0cb2886f, 0x0bd29740, 0x8e55336e, 0x0bdfb385, 0x097645b0, 0x6c18229a, };
饶先宏's avatar
饶先宏 已提交
115 116 117 118 119 120
	for (i = 0; i < 16; i++) {
		if (a[i] % b[i] != c[i])
			return i;
	}
	return -1;
}