Esempio n. 1
0
static void
vec4_normalize (gpointer data_)
{
  Vec4Bench *data = data_;
  int n_checks = graphene_bench_get_rounds_per_unit ();
  int i;

  for (i = 0; i < n_checks; i++)
    {
      int a = g_random_int_range (0, data->n_vectors - 1);
      graphene_vec4_t *op = &(data->vectors[a]);
      graphene_vec4_t res;

      graphene_vec4_normalize (op, &res);
    }
}
Esempio n. 2
0
static void
quaternion_operators_normalize (mutest_spec_t *spec)
{
  graphene_quaternion_t q1, q2;
  graphene_vec4_t v1, v2;

  graphene_quaternion_init (&q1, 1.f, 2.f, 3.f, 4.f);
  graphene_quaternion_normalize (&q1, &q2);

  graphene_vec4_init (&v1, 1.f, 2.f, 3.f, 4.f);
  graphene_vec4_normalize (&v1, &v1);

  graphene_quaternion_to_vec4 (&q2, &v2);

  mutest_expect ("normalizing a quaternion is the same as normalizing the equivalent vec4",
                 mutest_bool_value (graphene_vec4_near (&v1, &v2, 0.00001f)),
                 mutest_to_be_true,
                 NULL);
}