common: make VectorLength, VectorNormalize static inline

This commit is contained in:
Eric Wasylishen 2016-05-13 21:10:00 -06:00
parent f967b89cea
commit f73b9de0b3
2 changed files with 33 additions and 36 deletions

View File

@ -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
*/

View File

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