Beispiel #1
0
Datei: ray.c Projekt: gmpetrov/RT
void	ray_del(t_ray *rayon)
{
	if (rayon)
	{
		vector_del(rayon->o);
		vector_del(rayon->d);
		free(rayon);
		rayon = NULL;
	}
}
Beispiel #2
0
void		plan_del(t_plan *plan)
{
	if (plan)
	{
		vector_del(plan->normal);
		free(plan);
		plan = NULL;
	}
}
Beispiel #3
0
int test_run (void)
   {
   SCL_vector_t     vector;
   SCL_iterator_t   iterator;

   void*   data;
   int     stat;
   int     i;

   printf ("Create vector: ");
   fflush (stdout);
   vector = vector_new();
   printf ("(%p = vector_new()) != NULL ... ", vector);
   fflush (stdout);
   printf ("%s\n", ((vector!=NULL) ? "PASS" : "FAIL"));

   printf (
          "(%ld = vector_size (vector)) == 0 ..................... %s\n",
          vector_size(vector),
          ((vector_size(vector)==0) ? "PASS" : "FAIL")
          );
   printf (
          "(%ld = vector_count (vector)) == 0 .................... %s\n",
          vector_count(vector),
          ((vector_count(vector)==0) ? "PASS" : "FAIL")
          );

   printf ("Push data in back vector.\n");
   for (i=0 ; i<VECTOR_SIZE ; i++)
      {
      stat = vector_push_back (vector, (void*)g_data1[i]);
      printf (
             "[%d,%s] = vector_push_back (vector, %08X) .... %s\n",
             stat, scl_statstr(stat), g_data1[i],
             ((stat==SCL_OK) ? "PASS" : "FAIL")
             );
      }

   printf ("Iterate back through vector, changing data.\n");
   for (i=7, iterator=vector_end(vector) ; iterator!=NULL ; iterator=vector_prev(iterator))
      {
      data = vector_data_get (iterator);
      printf (
             "%08X = vector_data_get (iterator=>%p) .... %s\n",
             data, iterator,
             (((unsigned long)data==g_data1[--i]) ? "PASS" : "FAIL")
             );
      vector_data_set (iterator, iterator);
      printf ("%08X -> %08X\n", data, vector_data_get(iterator));
      }

   printf (
          "(%ld = vector_size (vector)) == 16 ................... %s\n",
          vector_size(vector),
          ((vector_size(vector)==16) ? "PASS" : "FAIL")
          );
   printf (
          "(%ld = vector_count (vector)) == 7 .................... %s\n",
          vector_count(vector),
          ((vector_count(vector)==7) ? "PASS" : "FAIL")
          );

   printf ("Foreach on vector.\n");
   for (i=0 ; i<VECTOR_SIZE ; i++) g_flag[i] = 0;
   g_vector = vector;
   vector_foreach (vector, cbfn, NULL);

   printf ("Erase vector.\n");
   vector_erase (vector);

   printf (
          "(%ld = vector_size (vector)) == 0 ..................... %s\n",
          vector_size(vector),
          ((vector_size(vector)==0) ? "PASS" : "FAIL")
          );
   printf (
          "(%ld = vector_count (vector)) == 0 .................... %s\n",
          vector_count(vector),
          ((vector_count(vector)==0) ? "PASS" : "FAIL")
          );

   printf ("Delete vector.\n");
   vector_del (vector);

   printf ("\n");

   return 0;
   }
Beispiel #4
0
void vector_clear_del(vector_t *v, void (*df)(void *)) {
    assert(v);
    vector_clear(v, df);
    vector_del(v);
}