您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FOR_EACH_IMPL函数代码示例

51自学网 2021-06-01 20:42:52
  C++
这篇教程C++ FOR_EACH_IMPL函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FOR_EACH_IMPL函数的典型用法代码示例。如果您正苦于以下问题:C++ FOR_EACH_IMPL函数的具体用法?C++ FOR_EACH_IMPL怎么用?C++ FOR_EACH_IMPL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FOR_EACH_IMPL函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: do_test_limit

static voiddo_test_limit (size_t align1, size_t align2, size_t len, size_t n, int max_char,	 int exp_result){  size_t i, align_n;  char *s1, *s2;  if (n == 0)    {      s1 = (char*)(buf1 + page_size);      s2 = (char*)(buf2 + page_size);      printf ("Length %d/%d:", len, n);      FOR_EACH_IMPL (impl, 0)	do_one_test (impl, s1, s2, n, 0);      putchar ('/n');      return;    }  align1 &= 15;  align2 &= 15;  align_n = (page_size - n) & 15;  s1 = (char*)(buf1 + page_size - n);  s2 = (char*)(buf2 + page_size - n);  if (align1 < align_n)    s1 -= (align_n - align1);  if (align2 < align_n)    s2 -= (align_n - align2);  for (i = 0; i < n; i++)    s1[i] = s2[i] = 1 + 23 * i % max_char;  if (len < n)    {      s1[len] = 0;      s2[len] = 0;      if (exp_result < 0)	s2[len] = 32;      else if (exp_result > 0)	s1[len] = 64;    }  printf ("Length %d/%d, alignment %d/%d:", len, n, align1, align2);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s1, s2, n, exp_result);  putchar ('/n');}
开发者ID:jiaojinxing,项目名称:benchtests,代码行数:54,


示例2: do_test

static voiddo_test (size_t align1, size_t align2, size_t len, int exp_result){    size_t i;    CHAR *s1, *s2;    if (len == 0)        return;    align1 &= 63;    if (align1 + (len + 1) * CHARBYTES >= page_size)        return;    align2 &= 63;    if (align2 + (len + 1) * CHARBYTES >= page_size)        return;    s1 = (CHAR *) (buf1 + align1);    s2 = (CHAR *) (buf2 + align2);    for (i = 0; i < len; i++)        s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % CHAR__MAX;    s1[len] = align1;    s2[len] = align2;    s2[len - 1] -= exp_result;    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);    FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s1, s2, len, exp_result);    putchar ('/n');}
开发者ID:cmjonze,项目名称:eglibc_svn,代码行数:34,


示例3: test_main

inttest_main (void){  size_t i;  int c = 0;  test_init ();  printf ("%24s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');#ifndef TEST_BZERO  for (c = -65; c <= 130; c += 65)#endif    {      for (i = 0; i < 18; ++i)	do_test (0, c, 1 << i);      for (i = 1; i < 32; ++i)	{	  do_test (i, c, i);	  if (i & (i - 1))	    do_test (0, c, i);	}      do_test (1, c, 14);      do_test (3, c, 1024);      do_test (4, c, 64);      do_test (2, c, 25);    }  return ret;}
开发者ID:stefan2904,项目名称:glibc,代码行数:33,


示例4: do_test

static voiddo_test (json_ctx_t *json_ctx, size_t align1, size_t align2, size_t len){  size_t i, j;  char *s1, *s2;  align1 &= 63;  if (align1 + len >= page_size)    return;  align2 &= 63;  if (align2 + len >= page_size)    return;  s1 = (char *) (buf2 + align1);  s2 = (char *) (buf2 + align2);  for (i = 0, j = 1; i < len; i++, j += 23)    s1[i] = j;  json_element_object_begin (json_ctx);  json_attr_uint (json_ctx, "length", (double) len);  json_attr_uint (json_ctx, "align1", (double) align1);  json_attr_uint (json_ctx, "align2", (double) align2);  json_array_begin (json_ctx, "timings");  FOR_EACH_IMPL (impl, 0)    do_one_test (json_ctx, impl, s2, s1, len);  json_array_end (json_ctx);  json_element_object_end (json_ctx);}
开发者ID:bminor,项目名称:glibc,代码行数:32,


示例5: do_test

static voiddo_test (size_t align1, size_t align2, size_t len){  size_t i, j;  char *s1, *s2;  align1 &= 63;  if (align1 + len >= page_size)    return;  align2 &= 63;  if (align2 + len >= page_size)    return;  s1 = (char *) (buf1 + align1);  s2 = (char *) (buf2 + align2);  for (i = 0, j = 1; i < len; i++, j += 23)    s1[i] = j;  printf ("Length %4zd, alignment %d/%d:", len, align1, align2);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s2, (char *) (buf2 + align1), s1, len);  putchar ('/n');}
开发者ID:jiaojinxing,项目名称:benchtests,代码行数:27,


示例6: do_test

static voiddo_test (size_t align1, size_t align2, size_t len, size_t n, int max_char){  size_t i;  char *s1, *s2;  align1 &= 7;  if (align1 + len >= page_size)    return;  align2 &= 7;  if (align2 + len >= page_size)    return;  s1 = (char *) (buf1 + align1);  s2 = (char *) (buf2 + align2);  for (i = 0; i < len; ++i)    s1[i] = 32 + 23 * i % (max_char - 32);  s1[len] = 0;  for (i = len + 1; i + align1 < page_size && i < len + 64; ++i)    s1[i] = 32 + 32 * i % (max_char - 32);  if (HP_TIMING_AVAIL)    printf ("Length %4zd, n %4zd, alignment %2zd/%2zd:", len, n, align1, align2);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s2, s1, len, n);  if (HP_TIMING_AVAIL)    putchar ('/n');}
开发者ID:Boshin,项目名称:workspace,代码行数:32,


示例7: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%28s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 1; i < 8; ++i)    {      do_test (i, i, 16, 16, SMALL_CHAR);      do_test (i, i, 16, 16, BIG_CHAR);      do_test (i, 2 * i, 16, 16, SMALL_CHAR);      do_test (2 * i, i, 16, 16, BIG_CHAR);      do_test (8 - i, 2 * i, 1 << i, 2 << i, SMALL_CHAR);      do_test (2 * i, 8 - i, 2 << i, 1 << i, SMALL_CHAR);      do_test (8 - i, 2 * i, 1 << i, 2 << i, BIG_CHAR);      do_test (2 * i, 8 - i, 2 << i, 1 << i, BIG_CHAR);    }  for (i = 1; i < 8; ++i)    {      do_test (0, 0, 4 << i, 8 << i, SMALL_CHAR);      do_test (0, 0, 16 << i, 8 << i, SMALL_CHAR);      do_test (8 - i, 2 * i, 4 << i, 8 << i, SMALL_CHAR);      do_test (8 - i, 2 * i, 16 << i, 8 << i, SMALL_CHAR);    }  return ret;}
开发者ID:Distrotech,项目名称:glibc,代码行数:34,


示例8: do_test

static voiddo_test (size_t align1, size_t align2, size_t len, int max_char){  size_t i;  CHAR *s1, *s2;/* For wcscpy: align1 and align2 here mean alignment not in bytes,   but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))   len for wcschr here isn't in bytes but it's number of wchar_t symbols.  */  align1 &= 7;  if ((align1 + len) * sizeof(CHAR) >= page_size)    return;  align2 &= 7;  if ((align2 + len) * sizeof(CHAR) >= page_size)    return;  s1 = (CHAR *) (buf1) + align1;  s2 = (CHAR *) (buf2) + align2;  for (i = 0; i < len; i++)    s1[i] = 32 + 23 * i % (max_char - 32);  s1[len] = 0;  printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, align1 * sizeof(CHAR), align2 * sizeof(CHAR));  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s2, s1, len);  putchar ('/n');}
开发者ID:ddstreet,项目名称:glibc,代码行数:30,


示例9: test_main

inttest_main (void){  json_ctx_t json_ctx;  size_t i;  test_init ();  json_init (&json_ctx, 0, stdout);  json_document_begin (&json_ctx);  json_attr_string (&json_ctx, "timing_type", TIMING_TYPE);  json_attr_object_begin (&json_ctx, "functions");  json_attr_object_begin (&json_ctx, TEST_NAME);  json_attr_string (&json_ctx, "bench-variant", "default");  json_array_begin (&json_ctx, "ifuncs");  FOR_EACH_IMPL (impl, 0)    json_element_string (&json_ctx, impl->name);  json_array_end (&json_ctx);  json_array_begin (&json_ctx, "results");  for (i = 1; i < 32; ++i)    {      do_test (&json_ctx, CHARBYTES * i, CHARBYTES * i, i, MIDCHAR, 0);      do_test (&json_ctx, CHARBYTES * i, CHARBYTES * i, i, MIDCHAR, 1);      do_test (&json_ctx, CHARBYTES * i, CHARBYTES * i, i, MIDCHAR, -1);    }  for (i = 1; i < 10 + CHARBYTESLOG; ++i)    {      do_test (&json_ctx, 0, 0, 2 << i, MIDCHAR, 0);      do_test (&json_ctx, 0, 0, 2 << i, LARGECHAR, 0);      do_test (&json_ctx, 0, 0, 2 << i, MIDCHAR, 1);      do_test (&json_ctx, 0, 0, 2 << i, LARGECHAR, 1);      do_test (&json_ctx, 0, 0, 2 << i, MIDCHAR, -1);      do_test (&json_ctx, 0, 0, 2 << i, LARGECHAR, -1);      do_test (&json_ctx, 0, CHARBYTES * i, 2 << i, MIDCHAR, 1);      do_test (&json_ctx, CHARBYTES * i, CHARBYTES * (i + 1), 2 << i, LARGECHAR, 1);    }  for (i = 1; i < 8; ++i)    {      do_test (&json_ctx, CHARBYTES * i, 2 * CHARBYTES * i, 8 << i, MIDCHAR, 0);      do_test (&json_ctx, 2 * CHARBYTES * i, CHARBYTES * i, 8 << i, LARGECHAR, 0);      do_test (&json_ctx, CHARBYTES * i, 2 * CHARBYTES * i, 8 << i, MIDCHAR, 1);      do_test (&json_ctx, 2 * CHARBYTES * i, CHARBYTES * i, 8 << i, LARGECHAR, 1);      do_test (&json_ctx, CHARBYTES * i, 2 * CHARBYTES * i, 8 << i, MIDCHAR, -1);      do_test (&json_ctx, 2 * CHARBYTES * i, CHARBYTES * i, 8 << i, LARGECHAR, -1);    }  json_array_end (&json_ctx);  json_attr_object_end (&json_ctx);  json_attr_object_end (&json_ctx);  json_document_end (&json_ctx);  return ret;}
开发者ID:ddstreet,项目名称:glibc,代码行数:60,


示例10: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%28s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 1; i < 8; ++i)    {      do_test (i, i, 12, 16, 16, 127);      do_test (i, i, 23, 16, 16, 255);      do_test (i, 2 * i, 28, 16, 16, 127);      do_test (2 * i, i, 31, 16, 16, 255);      do_test (8 - i, 2 * i, 1, 1 << i, 2 << i, 127);      do_test (2 * i, 8 - i, 17, 2 << i, 1 << i, 127);      do_test (8 - i, 2 * i, 0, 1 << i, 2 << i, 255);      do_test (2 * i, 8 - i, i, 2 << i, 1 << i, 255);    }  for (i = 1; i < 8; ++i)    {      do_test (0, 0, i, 4 << i, 8 << i, 127);      do_test (0, 0, i, 16 << i, 8 << i, 127);      do_test (8 - i, 2 * i, i, 4 << i, 8 << i, 127);      do_test (8 - i, 2 * i, i, 16 << i, 8 << i, 127);    }  return ret;}
开发者ID:abellgithub,项目名称:glibc,代码行数:34,


示例11: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%20s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  /* Checking with only 4 * N alignments for wcslen, other alignments are wrong for wchar_t type arrays*/  for (i = 1; i < 8; ++i)  {    do_test (sizeof(CHAR) * i, i);    do_test (0, i);  }  for (i = 2; i <= 12; ++i)    {      do_test (0, 1 << i);      do_test (sizeof(CHAR) * 7, 1 << i);      do_test (sizeof(CHAR) * i, 1 << i);      do_test (sizeof(CHAR) * i, (size_t)((1 << i) / 1.5));    }  return ret;}
开发者ID:kraj,项目名称:glibc,代码行数:30,


示例12: do_test

static voiddo_test (size_t align, size_t pos, size_t len, int seek_char){  size_t i;  char *result;  align &= 7;  if (align + len >= page_size)    return;  for (i = 0; i < len; ++i)    {      buf1[align + i] = 1 + 23 * i % 127;      if (buf1[align + i] == seek_char)	buf1[align + i] = seek_char + 1;    }  buf1[align + len] = 0;  assert (pos < len);  buf1[align + pos] = seek_char;  buf1[align + len] = -seek_char;  result = (char *) (buf1 + align + pos);  if (HP_TIMING_AVAIL)    printf ("Length %4zd, alignment %2zd:", pos, align);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, (char *) (buf1 + align), seek_char, result);  if (HP_TIMING_AVAIL)    putchar ('/n');}
开发者ID:Boshin,项目名称:workspace,代码行数:33,


示例13: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%20s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 1; i < 7; ++i)    {      do_test (0, 16 << i, 2048, 23);      do_test (i, 64, 256, 23);      do_test (0, 16 << i, 2048, 0);      do_test (i, 64, 256, 0);    }  for (i = 1; i < 32; ++i)    {      do_test (0, i, i + 1, 23);      do_test (0, i, i + 1, 0);    }  return ret;}
开发者ID:Boshin,项目名称:workspace,代码行数:27,


示例14: do_test

static voiddo_test (size_t align1, size_t align2, size_t len, size_t dlen, int max_char){  size_t i;  char *s1, *s2;  align1 &= 7;  if (align1 + len >= page_size)    return;  align2 &= 7;  if (align2 + len >= page_size)    return;  s1 = (char *) buf1 + align1;  s2 = (char *) buf2 + align2;  for (i = 0; i < len; i++)    s1[i] = 32 + 23 * i % (max_char - 32);  s1[len] = 0;  if (dlen > len)    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s2, s1, len, dlen);  if (dlen > len)    putchar ('/n');}
开发者ID:AubrCool,项目名称:glibc,代码行数:30,


示例15: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%32s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 0; i < 32; ++i)    {      do_test (0, 512, i);      do_test (i, 512, i);    }  for (i = 1; i < 8; ++i)    {      do_test (0, 16 << i, 4);      do_test (i, 16 << i, 4);    }  for (i = 1; i < 8; ++i)    do_test (i, 64, 10);  for (i = 0; i < 64; ++i)    do_test (0, i, 6);  return ret;}
开发者ID:hjl-tools,项目名称:glibc,代码行数:32,


示例16: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%23s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 0; i < BUF1PAGES * page_size; ++i)    buf1[i] = 60 + random () % 32;  for (i = 0; i < sizeof (strs) / sizeof (strs[0]); ++i)    for (size_t j = 0; j < 120; j += 7)      {	size_t len = strlen (strs[i]);	do_test (strs[i], len, j);      }  do_random_tests ();  return ret;}
开发者ID:bminor,项目名称:glibc,代码行数:26,


示例17: do_random_tests

static voiddo_random_tests (void){  for (size_t n = 0; n < ITERATIONS; ++n)    {      char tmpbuf[32];      size_t shift = random () % 11;      size_t rel = random () % ((2 << (shift + 1)) * 64);      size_t idx = MIN ((2 << shift) * 64 + rel, BUF1PAGES * page_size - 2);      size_t len = random () % (sizeof (tmpbuf) - 1) + 1;      len = MIN (len, BUF1PAGES * page_size - idx - 1);      memcpy (tmpbuf, buf1 + idx, len);      for (size_t i = random () % len / 2 + 1; i > 0; --i)	{	  size_t off = random () % len;	  char ch = '0' + random () % 10;	  buf1[idx + off] = ch;	}      printf ("String %.*s, offset %zd:", (int) len, buf1 + idx, idx);      FOR_EACH_IMPL (impl, 0)	do_one_test (impl, buf1, BUF1PAGES * page_size, buf1 + idx, len,		     buf1 + idx);      putchar ('/n');      memcpy (buf1 + idx, tmpbuf, len);    }}
开发者ID:bminor,项目名称:glibc,代码行数:32,


示例18: do_test

static voiddo_test (size_t align1, size_t align2, int c, size_t len, size_t n,	 int max_char){  size_t i;  char *s1, *s2;  align1 &= 7;  if (align1 + len >= page_size)    return;  align2 &= 7;  if (align2 + len >= page_size)    return;  s1 = (char *) (buf1 + align1);  s2 = (char *) (buf2 + align2);  for (i = 0; i < len - 1; ++i)    {      s1[i] = 32 + 23 * i % (max_char - 32);      if (s1[i] == (char) c)	--s1[i];    }  s1[len - 1] = c;  for (i = len; i + align1 < page_size && i < len + 64; ++i)    s1[i] = 32 + 32 * i % (max_char - 32);  printf ("Length %4zd, n %4zd, char %d, alignment %2zd/%2zd:", len, n, c, align1, align2);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s2, s1, c, len, n);  putchar ('/n');}
开发者ID:abellgithub,项目名称:glibc,代码行数:35,


示例19: do_test

static voiddo_test (size_t align1, size_t align2, size_t len, size_t n, int max_char){  size_t i;  CHAR *s1, *s2;/* For wcsncpy: align1 and align2 here mean alignment not in bytes,   but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t)).  */  align1 &= 7;  if ((align1 + len) * sizeof (CHAR) >= page_size)    return;  align2 &= 7;  if ((align2 + len) * sizeof (CHAR) >= page_size)    return;  s1 = (CHAR *) (buf1) + align1;  s2 = (CHAR *) (buf2) + align2;  for (i = 0; i < len; ++i)    s1[i] = 32 + 23 * i % (max_char - 32);  s1[len] = 0;  for (i = len + 1; (i + align1) * sizeof (CHAR) < page_size && i < len + 64;       ++i)    s1[i] = 32 + 32 * i % (max_char - 32);  printf ("Length %4zd, n %4zd, alignment %2zd/%2zd:", len, n, align1, align2);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s2, s1, len, n);  putchar ('/n');}
开发者ID:Distrotech,项目名称:glibc,代码行数:33,


示例20: test_main

static inttest_main (void){  test_init ();  check1 ();  printf ("%23s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (size_t klen = 2; klen < 32; ++klen)    for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)      {	do_test (0, 0, hlen, klen, 0);	do_test (0, 0, hlen, klen, 1);	do_test (0, 3, hlen, klen, 0);	do_test (0, 3, hlen, klen, 1);	do_test (0, 9, hlen, klen, 0);	do_test (0, 9, hlen, klen, 1);	do_test (0, 15, hlen, klen, 0);	do_test (0, 15, hlen, klen, 1);	do_test (3, 0, hlen, klen, 0);	do_test (3, 0, hlen, klen, 1);	do_test (3, 3, hlen, klen, 0);	do_test (3, 3, hlen, klen, 1);	do_test (3, 9, hlen, klen, 0);	do_test (3, 9, hlen, klen, 1);	do_test (3, 15, hlen, klen, 0);	do_test (3, 15, hlen, klen, 1);	do_test (9, 0, hlen, klen, 0);	do_test (9, 0, hlen, klen, 1);	do_test (9, 3, hlen, klen, 0);	do_test (9, 3, hlen, klen, 1);	do_test (9, 9, hlen, klen, 0);	do_test (9, 9, hlen, klen, 1);	do_test (9, 15, hlen, klen, 0);	do_test (9, 15, hlen, klen, 1);	do_test (15, 0, hlen, klen, 0);	do_test (15, 0, hlen, klen, 1);	do_test (15, 3, hlen, klen, 0);	do_test (15, 3, hlen, klen, 1);	do_test (15, 9, hlen, klen, 0);	do_test (15, 9, hlen, klen, 1);	do_test (15, 15, hlen, klen, 0);	do_test (15, 15, hlen, klen, 1);      }  do_test (0, 0, page_size - 1, 16, 0);  do_test (0, 0, page_size - 1, 16, 1);  return ret;}
开发者ID:xieyh11,项目名称:raytracing,代码行数:57,


示例21: do_test

static voiddo_test (size_t align, size_t pos, size_t len){  size_t i;  int c;  RES_TYPE result;  char *rej, *s;  align &= 7;  if (align + pos + 10 >= page_size || len > 240)    return;  rej = (char *) (buf2 + (random () & 255));  s = (char *) (buf1 + align);  for (i = 0; i < len; ++i)    {      rej[i] = random () & 255;      if (!rej[i])	rej[i] = random () & 255;      if (!rej[i])	rej[i] = 1 + (random () & 127);    }  rej[len] = '/0';  for (c = 1; c <= 255; ++c)    if (strchr (rej, c) == NULL)      break;  for (i = 0; i < pos; ++i)    {      s[i] = random () & 255;      if (strchr (rej, s[i]))	{	  s[i] = random () & 255;	  if (strchr (rej, s[i]))	    s[i] = c;	}    }  s[pos] = rej[random () % (len + 1)];  if (s[pos])    {      for (i = pos + 1; i < pos + 10; ++i)	s[i] = random () & 255;      s[i] = '/0';    }  result = STRPBRK_RESULT (s, pos);  if (HP_TIMING_AVAIL)    printf ("Length %4zd, alignment %2zd, rej len %2zd:", pos, align, len);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s, rej, result);  if (HP_TIMING_AVAIL)    putchar ('/n');}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.toolchain,代码行数:56,


示例22: check1

static voidcheck1 (void){  const char s1[] = "AOKB";  const char s2[] = "OK";  char *exp_result;  exp_result = stupid_strcasestr (s1, s2);  FOR_EACH_IMPL (impl, 0)    check_result (impl, s1, s2, exp_result);}
开发者ID:xieyh11,项目名称:raytracing,代码行数:11,


示例23: do_test

static voiddo_test (size_t align, size_t pos, size_t len){  size_t i;  int c;  RES_TYPE result;  CHAR *rej, *s;  align &= 7;  if ((align + pos + 10) * sizeof (CHAR) >= page_size || len > 240)    return;  rej = (CHAR *) (buf2) + (random () & 255);  s = (CHAR *) (buf1) + align;  for (i = 0; i < len; ++i)    {      rej[i] = random () & BIG_CHAR;      if (!rej[i])	rej[i] = random () & BIG_CHAR;      if (!rej[i])	rej[i] = 1 + (random () & SMALL_CHAR);    }  rej[len] = '/0';  for (c = 1; c <= BIG_CHAR; ++c)    if (STRCHR (rej, c) == NULL)      break;  for (i = 0; i < pos; ++i)    {      s[i] = random () & BIG_CHAR;      if (STRCHR (rej, s[i]))	{	  s[i] = random () & BIG_CHAR;	  if (STRCHR (rej, s[i]))	    s[i] = c;	}    }  s[pos] = rej[random () % (len + 1)];  if (s[pos])    {      for (i = pos + 1; i < pos + 10; ++i)	s[i] = random () & BIG_CHAR;      s[i] = '/0';    }  result = STRPBRK_RESULT (s, pos);  printf ("Length %4zd, alignment %2zd, rej len %2zd:", pos, align, len);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s, rej, result);  putchar ('/n');}
开发者ID:ddstreet,项目名称:glibc,代码行数:54,


示例24: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%23s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 0; i < 16; ++i)    {      do_test (0, 0, i, SMALL_CHAR);      do_test (0, 0, i, BIG_CHAR);      do_test (0, i, i, SMALL_CHAR);      do_test (i, 0, i, BIG_CHAR);    }  for (i = 1; i < 8; ++i)    {      do_test (0, 0, 8 << i, SMALL_CHAR);      do_test (8 - i, 2 * i, 8 << i, SMALL_CHAR);    }  for (i = 1; i < 8; ++i)    {      do_test (i, 2 * i, 8 << i, SMALL_CHAR);      do_test (2 * i, i, 8 << i, BIG_CHAR);      do_test (i, i, 8 << i, SMALL_CHAR);      do_test (i, i, 8 << i, BIG_CHAR);    }  for (i = 16; i <= 512; i+=4)    {      do_test (0, 4, i, SMALL_CHAR);      do_test (4, 0, i, BIG_CHAR);      do_test (4, 4, i, SMALL_CHAR);      do_test (2, 2, i, BIG_CHAR);      do_test (2, 6, i, SMALL_CHAR);      do_test (6, 2, i, BIG_CHAR);      do_test (1, 7, i, SMALL_CHAR);      do_test (7, 1, i, BIG_CHAR);      do_test (3, 4, i, SMALL_CHAR);      do_test (4, 3, i, BIG_CHAR);      do_test (5, 7, i, SMALL_CHAR);      do_test (7, 5, i, SMALL_CHAR);    }  return ret;}
开发者ID:ddstreet,项目名称:glibc,代码行数:52,


示例25: do_test

static voiddo_test (json_ctx_t *json_ctx, size_t len){  json_element_object_begin (json_ctx);  json_attr_uint (json_ctx, "length", (double) len);  json_array_begin (json_ctx, "timings");  FOR_EACH_IMPL (impl, 0)    do_one_test (json_ctx, impl, (char *) buf2, (char *) buf1, len);  json_array_end (json_ctx);  json_element_object_end (json_ctx);}
开发者ID:riscv,项目名称:riscv-glibc,代码行数:13,


示例26: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%20s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 1; i < 8; ++i)    {      do_test (0, 16 << i, 2048, 23, SMALL_CHAR);      do_test (i, 16 << i, 2048, 23, SMALL_CHAR);    }  for (i = 1; i < 8; ++i)    {      do_test (i, 64, 256, 23, SMALL_CHAR);      do_test (i, 64, 256, 23, BIG_CHAR);    }  for (i = 0; i < 32; ++i)    {      do_test (0, i, i + 1, 23, SMALL_CHAR);      do_test (0, i, i + 1, 23, BIG_CHAR);    }  for (i = 1; i < 8; ++i)    {      do_test (0, 16 << i, 2048, 0, SMALL_CHAR);      do_test (i, 16 << i, 2048, 0, SMALL_CHAR);    }  for (i = 1; i < 8; ++i)    {      do_test (i, 64, 256, 0, SMALL_CHAR);      do_test (i, 64, 256, 0, BIG_CHAR);    }  for (i = 0; i < 32; ++i)    {      do_test (0, i, i + 1, 0, SMALL_CHAR);      do_test (0, i, i + 1, 0, BIG_CHAR);    }  do_random_tests ();  return ret;}
开发者ID:siddhesh,项目名称:glibc,代码行数:51,


示例27: test_main

inttest_main (void){  size_t i;  test_init ();  printf ("%23s", "");  FOR_EACH_IMPL (impl, 0)    printf ("/t%s", impl->name);  putchar ('/n');  for (i = 0; i < 18; ++i)    {      do_test (0, 0, 1 << i);      do_test (i, 0, 1 << i);      do_test (0, i, 1 << i);      do_test (i, i, 1 << i);    }  for (i = 0; i < 32; ++i)    {      do_test (0, 0, i);      do_test (i, 0, i);      do_test (0, i, i);      do_test (i, i, i);    }  for (i = 3; i < 32; ++i)    {      if ((i & (i - 1)) == 0)	continue;      do_test (0, 0, 16 * i);      do_test (i, 0, 16 * i);      do_test (0, i, 16 * i);      do_test (i, i, 16 * i);    }  for (i = 32; i < 64; ++i)    {      do_test (0, 0, 32 * i);      do_test (i, 0, 32 * i);      do_test (0, i, 32 * i);      do_test (i, i, 32 * i);    }  do_test (0, 0, getpagesize ());  return ret;}
开发者ID:kraj,项目名称:glibc,代码行数:50,


示例28: do_test

static voiddo_test (size_t align, int c, size_t len){  align &= 7;  if (align + len > page_size)    return;  printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, (char *) buf1 + align, c, len);  putchar ('/n');}
开发者ID:stefan2904,项目名称:glibc,代码行数:14,


示例29: do_test

static voiddo_test (size_t align, int c, size_t len){  align &= 63;  if ((align + len) * sizeof (CHAR) > page_size)    return;  printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, (CHAR *) (buf1) + align, c, len);  putchar ('/n');}
开发者ID:kraj,项目名称:glibc,代码行数:14,


示例30: do_test

static voiddo_test (size_t align1, size_t align2, size_t len1, size_t len2,	 int fail){  char *s1 = (char *) (buf1 + align1);  char *s2 = (char *) (buf2 + align2);  static const char d[] = "1234567890abcxyz";#define dl (sizeof (d) - 1)  char *ss2 = s2;  for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)    {      size_t t = l > dl ? dl : l;      ss2 = mempcpy (ss2, d, t);    }  s2[len2] = '/0';  if (fail)    {      char *ss1 = s1;      for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)	{	  size_t t = l > dl ? dl : l;	  memcpy (ss1, d, t);	  ++ss1[len2 > 7 ? 7 : len2 - 1];	  ss1 += t;	}    }  else    {      memset (s1, '0', len1);      for (size_t i = 0; i < len2; ++i)	s1[len1 - len2 + i] = toupper (s2[i]);    }  s1[len1] = '/0';  if (HP_TIMING_AVAIL)    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",	    len1, len2, align1, align2, fail ? "fail" : "found");  FOR_EACH_IMPL (impl, 0)    do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);  if (HP_TIMING_AVAIL)    putchar ('/n');}
开发者ID:xieyh11,项目名称:raytracing,代码行数:46,



注:本文中的FOR_EACH_IMPL函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FOUNDATION_ASSERT函数代码示例
C++ FOR_EACH_BACKEND函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。