From f73b9de0b36ffc88c05a6f5d67ba3ed046d39e21 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Fri, 13 May 2016 21:10:00 -0600 Subject: [PATCH] common: make VectorLength, VectorNormalize static inline --- common/mathlib.c | 34 ---------------------------------- include/common/mathlib.h | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 36 deletions(-) diff --git a/common/mathlib.c b/common/mathlib.c index 125dccc2..b52ee8d8 100644 --- a/common/mathlib.c +++ b/common/mathlib.c @@ -22,21 +22,6 @@ const vec3_t vec3_origin = { 0, 0, 0 }; - -double -VectorLength(const vec3_t v) -{ - int i; - double length; - - length = 0; - for (i = 0; i < 3; i++) - length += v[i] * v[i]; - length = sqrt(length); - - return length; -} - qboolean VectorCompare(const vec3_t v1, const vec3_t v2) { @@ -57,25 +42,6 @@ CrossProduct(const vec3_t v1, const vec3_t v2, vec3_t cross) cross[2] = v1[0] * v2[1] - v1[1] * v2[0]; } -vec_t -VectorNormalize(vec3_t v) -{ - int i; - double length; - - length = 0; - for (i = 0; i < 3; i++) - length += v[i] * v[i]; - length = sqrt(length); - if (length == 0) - return 0; - - for (i = 0; i < 3; i++) - v[i] /= (vec_t)length; - - return (vec_t)length; -} - /* * VecStr - handy shortcut for printf, not thread safe, obviously */ diff --git a/include/common/mathlib.h b/include/common/mathlib.h index b41a5fc1..8db9cb5e 100644 --- a/include/common/mathlib.h +++ b/include/common/mathlib.h @@ -132,8 +132,39 @@ VectorMA(const vec3_t va, vec_t scale, const vec3_t vb, vec3_t vc) void CrossProduct(const vec3_t v1, const vec3_t v2, vec3_t cross); -vec_t VectorNormalize(vec3_t v); -double VectorLength(const vec3_t v); + +static inline double +VectorLength(const vec3_t v) +{ + int i; + double length; + + length = 0; + for (i = 0; i < 3; i++) + length += v[i] * v[i]; + length = sqrt(length); + + return length; +} + +static inline vec_t +VectorNormalize(vec3_t v) +{ + int i; + double length; + + length = 0; + for (i = 0; i < 3; i++) + length += v[i] * v[i]; + length = sqrt(length); + if (length == 0) + return 0; + + for (i = 0; i < 3; i++) + v[i] /= (vec_t)length; + + return (vec_t)length; +} /* Shortcut for output of warnings/errors */ const char *VecStr(const vec3_t vec);