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); } }
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); }