⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regression.c

📁 一个C语言写的快速贝叶斯垃圾邮件过滤工具
💻 C
📖 第 1 页 / 共 3 页
字号:
  nerrors += Verify(__FILE__, __LINE__, "     0.0001",		    "%11.5g", 1e-4);  nerrors += Verify(__FILE__, __LINE__, "      0.001",		    "%11.5g", 1e-3);  nerrors += Verify(__FILE__, __LINE__, "       0.01",		    "%11.5g", 1e-2);  nerrors += Verify(__FILE__, __LINE__, "        0.1",		    "%11.5g", 1e-1);  nerrors += Verify(__FILE__, __LINE__, "          1",		    "%11.5g", 1e0);  nerrors += Verify(__FILE__, __LINE__, "         10",		    "%11.5g", 1e1);  nerrors += Verify(__FILE__, __LINE__, "        100",		    "%11.5g", 1e2);  nerrors += Verify(__FILE__, __LINE__, "       1000",		    "%11.5g", 1e3);  nerrors += Verify(__FILE__, __LINE__, "      10000",		    "%11.5g", 1e4);  nerrors += Verify(__FILE__, __LINE__, "      1e+05",		    "%11.5g", 1e5);  nerrors += Verify(__FILE__, __LINE__, "    9.9e-05",		    "%11.2g", 0.99e-4);  nerrors += Verify(__FILE__, __LINE__, "    0.00099",		    "%11.2g", 0.99e-3);  nerrors += Verify(__FILE__, __LINE__, "     0.0099",		    "%11.2g", 0.99e-2);  nerrors += Verify(__FILE__, __LINE__, "      0.099",		    "%11.2g", 0.99e-1);  nerrors += Verify(__FILE__, __LINE__, "       0.99",		    "%11.2g", 0.99e0);  nerrors += Verify(__FILE__, __LINE__, "        9.9",		    "%11.2g", 0.99e1);  nerrors += Verify(__FILE__, __LINE__, "         99",		    "%11.2g", 0.99e2);  nerrors += Verify(__FILE__, __LINE__, "    9.9e+02",		    "%11.2g", 0.99e3);  nerrors += Verify(__FILE__, __LINE__, "    9.9e+03",		    "%11.2g", 0.99e4);  nerrors += Verify(__FILE__, __LINE__, "    9.9e+04",		    "%11.2g", 0.99e5);  /* Double width, precision, and alternative */  nerrors += Verify(__FILE__, __LINE__, " 1.0000e-05",		    "%#11.5g", 1e-5);  nerrors += Verify(__FILE__, __LINE__, " 0.00010000",		    "%#11.5g", 1e-4);  nerrors += Verify(__FILE__, __LINE__, "  0.0010000",		    "%#11.5g", 1e-3);  nerrors += Verify(__FILE__, __LINE__, "   0.010000",		    "%#11.5g", 1e-2);  nerrors += Verify(__FILE__, __LINE__, "    0.10000",		    "%#11.5g", 1e-1);  nerrors += Verify(__FILE__, __LINE__, "     1.0000",		    "%#11.5g", 1e0);  nerrors += Verify(__FILE__, __LINE__, "     10.000",		    "%#11.5g", 1e1);  nerrors += Verify(__FILE__, __LINE__, "     100.00",		    "%#11.5g", 1e2);  nerrors += Verify(__FILE__, __LINE__, "     1000.0",		    "%#11.5g", 1e3);  nerrors += Verify(__FILE__, __LINE__, "     10000.",		    "%#11.5g", 1e4);  nerrors += Verify(__FILE__, __LINE__, " 1.0000e+05",		    "%#11.5g", 1e5);  nerrors += Verify(__FILE__, __LINE__, "    9.9e-05",		    "%#11.2g", 0.99e-4);  nerrors += Verify(__FILE__, __LINE__, "    0.00099",		    "%#11.2g", 0.99e-3);  nerrors += Verify(__FILE__, __LINE__, "     0.0099",		    "%#11.2g", 0.99e-2);  nerrors += Verify(__FILE__, __LINE__, "      0.099",		    "%#11.2g", 0.99e-1);  nerrors += Verify(__FILE__, __LINE__, "       0.99",		    "%#11.2g", 0.99e0);  nerrors += Verify(__FILE__, __LINE__, "        9.9",		    "%#11.2g", 0.99e1);  nerrors += Verify(__FILE__, __LINE__, "        99.",		    "%#11.2g", 0.99e2);  nerrors += Verify(__FILE__, __LINE__, "    9.9e+02",		    "%#11.2g", 0.99e3);  nerrors += Verify(__FILE__, __LINE__, "    9.9e+03",		    "%#11.2g", 0.99e4);  nerrors += Verify(__FILE__, __LINE__, "    9.9e+04",		    "%#11.2g", 0.99e5);  /* Double width, precision, and zero padding */  nerrors += Verify(__FILE__, __LINE__, "00003.141500e+03",		    "%016e", 3141.5);  nerrors += Verify(__FILE__, __LINE__, "    3.141500e+03",		    "%16e", 3141.5);  nerrors += Verify(__FILE__, __LINE__, "3.141500e+03    ",		    "%-16e", 3141.5);  nerrors += Verify(__FILE__, __LINE__, "03.142e+03",		    "%010.3e", 3141.5);#if !defined(TRIO_COMPILER_ANCIENT)  /* Long double */  nerrors += Verify(__FILE__, __LINE__, "1.400000",		    "%Lf", 1.4L);#endif    /* Special cases */  nerrors += Verify(__FILE__, __LINE__, "1.00",		    "%.2f", 0.999);  nerrors += Verify(__FILE__, __LINE__, "100",		    "%.0f", 99.9);  nerrors += Verify(__FILE__, __LINE__, "inf",		    "%f", trio_pinf());  nerrors += Verify(__FILE__, __LINE__, "-inf",		    "%f", trio_ninf());  nerrors += Verify(__FILE__, __LINE__, "INF",		    "%F", trio_pinf());  nerrors += Verify(__FILE__, __LINE__, "-INF",		    "%F", trio_ninf());  /* May fail if NaN is unsupported */  nerrors += Verify(__FILE__, __LINE__, "nan",		    "%f", trio_nan());  nerrors += Verify(__FILE__, __LINE__, "NAN",		    "%F", trio_nan());#endif /* TRIO_FEATURE_FLOAT */    /* Char width alignment */  nerrors += Verify(__FILE__, __LINE__, "Char X   .",	 "Char %-4c.", 'X');  /* String width / precision */  nerrors += Verify(__FILE__, __LINE__, " testing",		    "%8s", "testing");  nerrors += Verify(__FILE__, __LINE__, "testing ",		    "%-8s", "testing");  nerrors += Verify(__FILE__, __LINE__, " testing",		    "%*s", 8, "testing");  nerrors += Verify(__FILE__, __LINE__, "testing ",		    "%*s", -8, "testing");  nerrors += Verify(__FILE__, __LINE__, "test",		    "%.4s", "testing");  nerrors += Verify(__FILE__, __LINE__, "test",		    "%.*s", 4, "testing");  nerrors += Verify(__FILE__, __LINE__, "testing",		    "%.*s", -4, "testing");#if TRIO_FEATURE_POSITIONAL  /* Positional */  nerrors += Verify(__FILE__, __LINE__, "222 111",		    "%2$s %1$s", "111", "222");  nerrors += Verify(__FILE__, __LINE__, "123456    12345 0001234  00123",		    "%4$d %3$*8$d %2$.*7$d %1$*6$.*5$d",		    123, 1234, 12345, 123456, 5, 6, 7, 8);#endif  #if TRIO_FEATURE_SIZE_T_UPPER  nerrors += Verify(__FILE__, __LINE__, "256",		    "%Zd", sizeof(buffer));#endif#if TRIO_FEATURE_ERRNO  errno = EINTR;  nerrors += Verify(__FILE__, __LINE__, "Interrupted system call",		    "%m");#endif  #if TRIO_FEATURE_QUAD# if defined(TRIO_COMPILER_SUPPORTS_LL)  /* This may fail if the preprocessor does not recognize LL */  nerrors += Verify(__FILE__, __LINE__, "42",		    "%qd", 42LL);# endif#endif  #if TRIO_FEATURE_FLOAT# if TRIO_FEATURE_HEXFLOAT  nerrors += Verify(__FILE__, __LINE__, "0x2.ap+4",		    "%a", 42.0);  nerrors += Verify(__FILE__, __LINE__, "-0x2.ap+4",		    "%a", -42.0);  nerrors += Verify(__FILE__, __LINE__, "0x1.8p+0",		    "%a", 1.5);  nerrors += Verify(__FILE__, __LINE__, "0x1.6666666666666p+0",		    "%a", 1.4);  nerrors += Verify(__FILE__, __LINE__, "0xc.45p+8",		    "%a", 3141.0);  nerrors += Verify(__FILE__, __LINE__, "0XC.45P+8",		    "%A", 3141.0);  nerrors += Verify(__FILE__, __LINE__, "0xb.351c434a98fa8p-148",		    "%a", 3.141e-44);# endif#endif#if TRIO_FEATURE_SIZE_T  nerrors += Verify(__FILE__, __LINE__, "256",		    "%zd", sizeof(buffer));#endif#if TRIO_FEATURE_PTRDIFF_T  nerrors += Verify(__FILE__, __LINE__, "42",		    "%td", 42);#endif#if TRIO_FEATURE_INTMAX_T# if defined(TRIO_COMPILER_SUPPORTS_LL)  /* Some compilers may not handle the LL suffix correctly */  nerrors += Verify(__FILE__, __LINE__, "42",		    "%jd", 42LL);# endif#endif#if TRIO_FEATURE_WIDECHAR  nerrors += Verify(__FILE__, __LINE__, "Hello World",		    "%ls", L"Hello World");  nerrors += Verify(__FILE__, __LINE__, "\\aHello World",		    "%#ls", L"\aHello World");  nerrors += Verify(__FILE__, __LINE__, "A",		    "%lc", L'A');  nerrors += Verify(__FILE__, __LINE__, "\\a",		    "%#lc", L'\a');#endif#if TRIO_FEATURE_FIXED_SIZE  nerrors += Verify(__FILE__, __LINE__, "42",		    "%I8d", 42);  nerrors += Verify(__FILE__, __LINE__, "ffffffff",		    "%I16x", -1);#endif  #if TRIO_EXTENSION  nerrors += Verify(__FILE__, __LINE__, "  42   86",		    "%!4d %d", 42, 86);  nerrors += Verify(__FILE__, __LINE__, "0042 0086",		    "%!04d %d", 42, 86);  nerrors += Verify(__FILE__, __LINE__, "42",		    "%&d", sizeof(long), 42L);  /* Non-printable string */  nerrors += Verify(__FILE__, __LINE__, "NonPrintable \\x01 \\a \\\\",		    "NonPrintable %#s", "\01 \07 \\");  nerrors += Verify(__FILE__, __LINE__, "\\a \\b \\t \\n \\v \\f \\r",		    "%#s", "\007 \010 \011 \012 \013 \014 \015");  /* Quote flag */  nerrors += Verify(__FILE__, __LINE__, "Another \"quoted\" string",		   "Another %'s string", "quoted");  /* Integer base */  nerrors += Verify(__FILE__, __LINE__, "Number 42 == 1120 (base 3)",		    "Number %d == %..3i (base 3)", 42, 42);  /* Integer base (specifier base must be used instead of base modifier) */  nerrors += Verify(__FILE__, __LINE__, "42",		    "%..3d", 42);  nerrors += Verify(__FILE__, __LINE__, "52",		    "%..3o", 42);  nerrors += Verify(__FILE__, __LINE__, "2a",		    "%..3x", 42);  /* Integer thousand separator */  nerrors += Verify(__FILE__, __LINE__, "Number 100",		    "Number %'d", 100);  nerrors += Verify(__FILE__, __LINE__, "Number 1,000,000",		    "Number %'d", 1000000);# if TRIO_FEATURE_FLOAT  /* Float thousand separator */  nerrors += Verify(__FILE__, __LINE__, "31,415.200000",		    "%'f", 31415.2);  nerrors += Verify(__FILE__, __LINE__, "1,000,000.000000",		    "%'f", 1000000.0);  /* Rounding modifier */  nerrors += Verify(__FILE__, __LINE__, "1.4",		    "%.32Rf", 1.4);  nerrors += Verify(__FILE__, __LINE__, "1.4",		    "%.17Rf", 1.4);  nerrors += Verify(__FILE__, __LINE__, "39413.8",		    "%.30Rf", 39413.80);#  if !defined(TRIO_COMPILER_ANCIENT)  /* Long double */  nerrors += Verify(__FILE__, __LINE__, "1.4",		    "%RLf", 1.4L);  nerrors += Verify(__FILE__, __LINE__, "1.4",		    "%.30RLf", 1.4L);#  endif# endif#endif#if defined(TRIO_BREESE)  /*   * These results depends on issues beyond our control. For example,   * the accuracy of floating-point numbers depends on the underlying   * floating-point hardware (e.g. whether IEEE 754 double or extended-   * double format is used).   *   * These tests are therefore not part of the normal regression test,   * but we keep them here for development purposes.   */  nerrors += Verify(__FILE__, __LINE__, "123456789012345680868.000000",		    "%f", 1.234567890123456789e20);  nerrors += Verify(__FILE__, __LINE__, "1.23456789012345677901e-20",		    "%.20e", 1.2345678901234567e-20);  nerrors += Verify(__FILE__, __LINE__, "0.666666666666666629659233",		    "%.*g", DBL_DIG + 10, 2.0/3.0);  nerrors += Verify(__FILE__, __LINE__, "123456789012345700000",		    "%Rf", 1.234567890123456789e20);# if !defined(TRIO_COMPILER_ANCIENT)  nerrors += Verify(__FILE__, __LINE__, "0.666666666666666667",		    "%RLf", (2.0L/3.0L));  nerrors += Verify(__FILE__, __LINE__, "0.666666666666666667",		    "%.30RLf", (2.0L/3.0L));# endif#endif    return nerrors;}/************************************************************************* * */intVerifyErrors(TRIO_NOARGS){  char buffer[512];  int rc;  int nerrors = 0;    /* Error: Invalid argument 1 */  rc = trio_snprintf(buffer, sizeof(buffer), "%d %r", 42, "text");#if TRIO_FEATURE_ERRORCODE# if TRIO_FEATURE_STRERR  trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_NAME(rc),		TRIO_ERROR_POSITION(rc));  nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 5",		    "%s", buffer);# else  trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_POSITION(rc));  nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 5",		    "%s", buffer);# endif#else  nerrors += (rc != -1);#endif    /* Error: Invalid argument 2 */  rc = trio_snprintf(buffer, sizeof(buffer), "%#");#if TRIO_FEATURE_ERRORCODE# if TRIO_FEATRUE_STRERR  trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_NAME(rc),		TRIO_ERROR_POSITION(rc));  nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 3",		    "%s", buffer);# else  trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_POSITION(rc));  nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 3",		    "%s", buffer);# endif#else  nerrors += (rc != -1);#endif    /* Error: Invalid argument 3 */  rc = trio_snprintf(buffer, sizeof(buffer), "%hhhd", 42);#if TRIO_FEATURE_ERRORCODE# if TRIO_FEATRUE_STRERR  trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_NAME(rc),		TRIO_ERROR_POSITION(rc));  nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 4",		    "%s", buffer);# else  trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_POSITION(rc));  nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 4",		    "%s", buffer);# endif#else  nerrors += (rc != -1);#endif    /* Error: Double reference */  rc = trio_snprintf(buffer, sizeof(buffer), "hello %1$d %1$d", 31, 32);#if TRIO_FEATURE_ERRORCODE# if TRIO_FEATRUE_STRERR  trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_NAME(rc),		TRIO_ERROR_POSITION(rc));#  if TRIO_UNIX98  nerrors += Verify(__FILE__, __LINE__, "Err = 4 (Double reference), Pos = 0",		    "%s", buffer);#  else  nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 9",		    "%s", buffer);#  endif# else  trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_POSITION(rc));#  if TRIO_UNIX98  nerrors += Verify(__FILE__, __LINE__, "Err = 4, Pos = 0",		    "%s", buffer);#  else  nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 9",		    "%s", buffer);#  endif# endif#else  nerrors += (rc != -1);#endif    /* Error: Reference gap */  rc = trio_snprintf(buffer, sizeof(buffer), "%3$d %1$d", 31, 32, 33);#if TRIO_FEATURE_ERRORCODE# if TRIO_FEATRUE_STRERR  trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_NAME(rc),		TRIO_ERROR_POSITION(rc));#  if TRIO_UNIX98  nerrors += Verify(__FILE__, __LINE__, "Err = 5 (Reference gap), Pos = 1",		    "%s", buffer);#  else  nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 3",		    "%s", buffer);#  endif# else  trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",		TRIO_ERROR_CODE(rc),		TRIO_ERROR_POSITION(rc));#  if TRIO_UNIX98  nerrors += Verify(__FILE__, __LINE__, "Err = 5, Pos = 1",		    "%s", buffer);#  else  nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 3",		    "%s", buffer);#  endif# endif#else  nerrors += (rc != -1);#endif    return nerrors;}/************************************************************************* * */#if TRIO_FEATURE_SCANFintVerifyScanningOneIntegerTRIO_ARGS5((file, line, expected, format, original),	   TRIO_CONST char *file,	   int line,	   TRIO_CONST char *expected,	   TRIO_CONST char *format,	   int original){  int number;  char data[512];    trio_snprintf(data, sizeof(data), format, original);  trio_sscanf(data, format, &number);  return Verify(file, line, expected, format, number);}intVerifyScanningIntegers(TRIO_NOARGS){  int nerrors = 0;  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "42",				      "%i", 42);  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "42",				      "%d", 42);  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "-42",				      "%d", -42);  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "2147483647",				      "%d", 2147483647);  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "42",				      "%u", 42);  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "2a",				      "%x", 42);  nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "52",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -