Esempio n. 1
0
result_t bsearch_test(void)
{
  int i;
  int nfailures = 0;

  static const int ints[] = { INT_MIN, INT_MIN + 1, INT_MAX - 1, INT_MAX };

  printf("test: int array\n");

  for (i = 0; i < NELEMS(ints); i++)
  {
    printf("searching for %d...", ints[i]);

    if (bsearch_int(ints, NELEMS(ints), sizeof(ints[0]), ints[i]) == -1)
    {
      printf("failed!\n");
      nfailures++;
    }
    else
    {
      printf("ok!\n");
    }
  }

  printf("\n");


  static const unsigned int uints[] = { 0, 1, UINT_MAX - 1, UINT_MAX };

  printf("test: unsigned int array\n");

  for (i = 0; i < NELEMS(uints); i++)
  {
    printf("searching for %u...", uints[i]);

    if (bsearch_uint(uints, NELEMS(uints), sizeof(uints[0]), uints[i]) == -1)
    {
      printf("failed!\n");
      nfailures++;
    }
    else
    {
      printf("ok!\n");
    }
  }

  printf("\n");


  static const short shorts[] = { SHRT_MIN, SHRT_MIN + 1, SHRT_MAX - 1, SHRT_MAX };

  printf("test: short array\n");

  for (i = 0; i < NELEMS(shorts); i++)
  {
    printf("searching for %d...", shorts[i]);

    if (bsearch_short(shorts, NELEMS(shorts), sizeof(shorts[0]), shorts[i]) == -1)
    {
      printf("failed!\n");
      nfailures++;
    }
    else
    {
      printf("ok!\n");
    }
  }

  printf("\n");


  static const unsigned short ushorts[] = { 0, 1, USHRT_MAX - 1, USHRT_MAX };

  printf("test: unsigned short array\n");

  for (i = 0; i < NELEMS(ushorts); i++)
  {
    printf("searching for %u...", ushorts[i]);

    if (bsearch_ushort(ushorts, NELEMS(ushorts), sizeof(ushorts[0]), ushorts[i]) == -1)
    {
      printf("failed!\n");
      nfailures++;
    }
    else
    {
      printf("ok!\n");
    }
  }

  printf("\n");

  printf("bsearch: %d failure(s)\n", nfailures);

  return (nfailures > 0) ? result_TEST_FAILED : result_TEST_PASSED;
}
Esempio n. 2
0
int THD_vectim_ifind( int iv , MRI_vectim *mrv )
{
   if( mrv == NULL ) return -1 ;  /* stoopid user */
   return bsearch_int( iv , mrv->nvec , mrv->ivec ) ;
}