diff options
Diffstat (limited to 'src/un_vecr.c')
-rw-r--r-- | src/un_vecr.c | 353 |
1 files changed, 0 insertions, 353 deletions
diff --git a/src/un_vecr.c b/src/un_vecr.c deleted file mode 100644 index 0fcf672..0000000 --- a/src/un_vecr.c +++ /dev/null @@ -1,353 +0,0 @@ -void un_m_add2r(real *v, real *a, real *b) { - v[0] = a[0] + b[0]; - v[1] = a[1] + b[1]; -} - -void un_m_add3r(real *v, real *a, real *b) { - v[0] = a[0] + b[0]; - v[1] = a[1] + b[1]; - v[2] = a[2] + b[2]; -} - -void un_m_add4r(real *v, real *a, real *b) { - v[0] = a[0] + b[0]; - v[1] = a[1] + b[1]; - v[2] = a[2] + b[2]; - v[3] = a[3] + b[3]; -} - -void un_m_sub2r(real *v, real *a, real *b) { - v[0] = a[0] - b[0]; - v[1] = a[1] - b[1]; -} - -void un_m_sub3r(real *v, real *a, real *b) { - v[0] = a[0] - b[0]; - v[1] = a[1] - b[1]; - v[2] = a[2] - b[2]; -} - -void un_m_sub4r(real *v, real *a, real *b) { - v[0] = a[0] - b[0]; - v[1] = a[1] - b[1]; - v[2] = a[2] - b[2]; - v[3] = a[3] - b[3]; -} - -void un_m_add_scalar2r(real *v, real *a, real scalar) { - v[0] = a[0] + scalar; - v[1] = a[1] + scalar; -} - -void un_m_add_scalar3r(real *v, real *a, real scalar) { - v[0] = a[0] + scalar; - v[1] = a[1] + scalar; - v[2] = a[2] + scalar; -} - -void un_m_add_scalar4r(real *v, real *a, real scalar) { - v[0] = a[0] + scalar; - v[1] = a[1] + scalar; - v[2] = a[2] + scalar; - v[3] = a[3] + scalar; -} - -void un_m_sub_scalar2r(real *v, real *a, real scalar) { - v[0] = a[0] - scalar; - v[1] = a[1] - scalar; -} - -void un_m_sub_scalar3r(real *v, real *a, real scalar) { - v[0] = a[0] - scalar; - v[1] = a[1] - scalar; - v[2] = a[2] - scalar; -} - -void un_m_sub_scalar4r(real *v, real *a, real scalar) { - v[0] = a[0] - scalar; - v[1] = a[1] - scalar; - v[2] = a[2] - scalar; - v[3] = a[3] - scalar; -} - -void un_m_mul_scalar2r(real *v, real *a, real scalar) { - v[0] = a[0] * scalar; - v[1] = a[1] * scalar; -} - -void un_m_mul_scalar3r(real *v, real *a, real scalar) { - v[0] = a[0] * scalar; - v[1] = a[1] * scalar; - v[2] = a[2] * scalar; -} - -void un_m_mul_scalar4r(real *v, real *a, real scalar) { - v[0] = a[0] * scalar; - v[1] = a[1] * scalar; - v[2] = a[2] * scalar; - v[3] = a[3] * scalar; -} - -void un_m_div_scalar2r(real *v, real *a, real scalar) { - v[0] = a[0] / scalar; - v[1] = a[1] / scalar; -} - -void un_m_div_scalar3r(real *v, real *a, real scalar) { - v[0] = a[0] / scalar; - v[1] = a[1] / scalar; - v[2] = a[2] / scalar; -} - -void un_m_div_scalar4r(real *v, real *a, real scalar) { - v[0] = a[0] / scalar; - v[1] = a[1] / scalar; - v[2] = a[2] / scalar; - v[3] = a[3] / scalar; -} - -void un_m_dot2r(real *v, real *a, real *b) { - *v = a[0] * b[0] + a[1] * b[1]; -} - -void un_m_dot3r(real *v, real *a, real *b) { - *v = a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; -} - -void un_m_dot4r(real *v, real *a, real *b) { - *v = a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; -} - -void un_m_hadamard2r(real *v, real *a, real *b) { - v[0] = a[0] * b[0]; - v[1] = a[1] * b[1]; -} - -void un_m_hadamard3r(real *v, real *a, real *b) { - v[0] = a[0] * b[0]; - v[1] = a[1] * b[1]; - v[2] = a[2] * b[2]; -} - -void un_m_hadamard4r(real *v, real *a, real *b) { - v[0] = a[0] * b[0]; - v[1] = a[1] * b[1]; - v[2] = a[2] * b[2]; - v[3] = a[3] * b[3]; -} - -void un_m_cross2r(real *v, real *a) { - v[0] = a[1]; - v[1] =-a[0]; -} - -void un_m_cross3r(real *v, real *a, real *b) { - v[0] = a[1] * b[2] - a[2] * b[1]; - v[1] = a[2] * b[0] - a[0] * b[2]; - v[2] = a[0] * b[1] - a[1] * b[0]; -} - -void un_m_magnitude2r(real *v, real *a) { -#if defined(UN_DOUBLE_PRECISION) - *v = sqrt(a[0] * a[0] + a[1] * a[1]); -#else - *v = sqrtf(a[0] * a[0] + a[1] * a[1]); -#endif -} - -void un_m_magnitude3r(real *v, real *a) { -#if defined(UN_DOUBLE_PRECISION) - *v = sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]); -#else - *v = sqrtf(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]); -#endif -} - -void un_m_magnitude4r(real *v, real *a) { -#if defined(UN_DOUBLE_PRECISION) - *v = sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3]); -#else - *v = sqrtf(a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3]); -#endif -} - -void un_m_magnitude_sqr2r(real *v, real *a) { - *v = a[0] * a[0] + a[1] * a[1]; -} - -void un_m_magnitude_sqr3r(real *v, real *a) { - *v = a[0] * a[0] + a[1] * a[1] + a[2] * a[2]; -} - -void un_m_magnitude_sqr4r(real *v, real *a) { - *v = a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3]; -} - -void un_m_distance2r(real *v, real *a, real *b) { - real f[2]; - un_m_sub2r(f, b, a); -#if defined(UN_DOUBLE_PRECISION) - *v = sqrt(f[0] * f[0] + f[1] * f[1]); -#else - *v = sqrtf(f[0] * f[0] + f[1] * f[1]); -#endif -} - -void un_m_distance3r(real *v, real *a, real *b) { - real f[3]; - un_m_sub3r(f, b, a); -#if defined(UN_DOUBLE_PRECISION) - *v = sqrt(f[0] * f[0] + f[1] * f[1] + f[2] * f[2]); -#else - *v = sqrtf(f[0] * f[0] + f[1] * f[1] + f[2] * f[2]); -#endif -} - -void un_m_distance4r(real *v, real *a, real *b) { - real f[4]; - un_m_sub4r(f, b, a); -#if defined(UN_DOUBLE_PRECISION) - *v = sqrt(f[0] * f[0] + f[1] * f[1] + f[2] * f[2] + f[3] * f[3]); -#else - *v = sqrtf(f[0] * f[0] + f[1] * f[1] + f[2] * f[2] + f[3] * f[3]); -#endif -} - -void un_m_distance_sqr2r(real *v, real *a, real *b) { - real f[2]; - un_m_sub2r(f, b, a); - *v = f[0] * f[0] + f[1] * f[1]; -} - -void un_m_distance_sqr3r(real *v, real *a, real *b) { - real f[3]; - un_m_sub3r(f, b, a); - *v = f[0] * f[0] + f[1] * f[1] + f[2] * f[2]; -} - -void un_m_distance_sqr4r(real *v, real *a, real *b) { - real f[4]; - un_m_sub4r(f, b, a); - *v = f[0] * f[0] + f[1] * f[1] + f[2] * f[2] + f[3] * f[3]; -} - -void un_m_normalize2r(real *v, real *a) { - real f; - un_m_magnitude2r(&f, a); - v[0] = a[0] / f; - v[1] = a[1] / f; -} - -void un_m_normalize3r(real *v, real *a) { - real f; - un_m_magnitude3r(&f, a); - v[0] = a[0] / f; - v[1] = a[1] / f; - v[2] = a[2] / f; -} - -void un_m_normalize4r(real *v, real *a) { - real f; - un_m_magnitude4r(&f, a); - v[0] = a[0] / f; - v[1] = a[1] / f; - v[2] = a[2] / f; - v[3] = a[3] / f; -} - -void un_m_project2r(real *v, real *a, real *onto) { - real dot, magn, scale; - - un_m_dot2r(&dot, a, onto); - un_m_magnitude_sqr2r(&magn, onto); - - -#if defined(UN_DOUBLE_PRECISION) - if (magn < EPSILON_D) { - un_memory_set((void*)v, 0, sizeof(*v) * 2); - return; - } -#else - if (magn < EPSILON) { - un_memory_set((void*)v, 0, sizeof(*v) * 2); - return; - } -#endif - - scale = dot / magn; - v[0] = onto[0] * scale; - v[1] = onto[1] * scale; -} - -void un_m_project3r(real *v, real *a, real *onto) { - real dot, magn, scale; - - un_m_dot3r(&dot, a, onto); - un_m_magnitude_sqr3r(&magn, onto); - -#if defined(UN_DOUBLE_PRECISION) - if (magn < EPSILON_D) { - un_memory_set((void*)v, 0, sizeof(*v) * 3); - return; - } -#else - if (magn < EPSILON) { - un_memory_set((void*)v, 0, sizeof(*v) * 3); - return; - } -#endif - - scale = dot / magn; - v[0] = onto[0] * scale; - v[1] = onto[1] * scale; - v[2] = onto[2] * scale; -} - -void un_m_project4r(real *v, real *a, real *onto) { - real dot, magn, scale; - - un_m_dot4r(&dot, a, onto); - un_m_magnitude_sqr4r(&magn, onto); - -#if defined(UN_DOUBLE_PRECISION) - if (magn < EPSILON_D) { - un_memory_set((void*)v, 0, sizeof(*v) * 4); - return; - } -#else - if (magn < EPSILON) { - un_memory_set((void*)v, 0, sizeof(*v) * 4); - return; - } -#endif - - scale = dot / magn; - v[0] = onto[0] * scale; - v[1] = onto[1] * scale; - v[2] = onto[2] * scale; - v[3] = onto[3] * scale; -} - -void un_m_reflect2r(real *v, real *a, real *normal) { - real dot; - - un_m_dot2r(&dot, a, normal); - un_m_mul_scalar2r(v, normal, 2.0 * dot); - un_m_sub2r(v, v, a); -} - -void un_m_reflect3r(real *v, real *a, real *normal) { - real dot; - - un_m_dot3r(&dot, a, normal); - un_m_mul_scalar3r(v, normal, 2.0 * dot); - un_m_sub3r(v, v, a); -} - -void un_m_reflect4r(real *v, real *a, real *normal) { - real dot; - - un_m_dot4r(&dot, a, normal); - un_m_mul_scalar4r(v, normal, 2.0 * dot); - un_m_sub4r(v, v, a); -} |