diff options
Diffstat (limited to 'common/vec3.c')
-rw-r--r-- | common/vec3.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/common/vec3.c b/common/vec3.c new file mode 100644 index 0000000000..12c33179c2 --- /dev/null +++ b/common/vec3.c @@ -0,0 +1,33 @@ +/* Copyright 2015 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "common.h" +#include "math.h" +#include "math_util.h" +#include "vec3.h" +#include "util.h" + +void vec3_scalar_mul(vec3_t v, float c) +{ + v[X] *= c; + v[Y] *= c; + v[Z] *= c; +} + +float vec3_dot(const vec3_t v, const vec3_t w) +{ + return v[X] * w[X] + v[Y] * w[Y] + v[Z] * w[Z]; +} + +float vec3_norm_squared(const vec3_t v) +{ + return vec3_dot(v, v); +} + +float vec3_norm(const vec3_t v) +{ + return sqrtf(vec3_norm_squared(v)); +} + |