commit 6dad92883cdbc38f8a51c0a4c5d22abff95b0f33
parent 4f5cb4dc20278fa511955ad253adb2eb0252a40e
Author: Christian Ermann <christianermann@gmail.com>
Date: Sun, 29 May 2022 14:25:52 -0700
Added const specifier to constant Vec3 arguments.
Diffstat:
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/include/vec.h b/include/vec.h
@@ -12,36 +12,36 @@ bool IVec3_equal(const IVec3 a, const IVec3 b);
typedef float Vec3[3];
// dst = src * scale
-void Vec3_scale(Vec3 src, float scale, Vec3 dst);
+void Vec3_scale(const Vec3 src, float scale, Vec3 dst);
// dst = src_a + src_b
-void Vec3_add(Vec3 src_a, Vec3 src_b, Vec3 dst);
+void Vec3_add(const Vec3 src_a, const Vec3 src_b, Vec3 dst);
// dst = src_a - src_b
-void Vec3_sub(Vec3 src_a, Vec3 src_b, Vec3 dst);
+void Vec3_sub(const Vec3 src_a, const Vec3 src_b, Vec3 dst);
// dst = src_a x src_b
-void Vec3_mul(Vec3 src_a, Vec3 src_b, Vec3 dst);
+void Vec3_mul(const Vec3 src_a, const Vec3 src_b, Vec3 dst);
// dst = src / ||src||
-void Vec3_normalize(Vec3 src, Vec3 dst);
+void Vec3_normalize(const Vec3 src, Vec3 dst);
// src_a * src_b
-float Vec3_dot(Vec3 src_a, Vec3 src_b);
+float Vec3_dot(const Vec3 src_a, const Vec3 src_b);
// ||src||^2
-float Vec3_magSquared(Vec3 src);
+float Vec3_magSquared(const Vec3 src);
// ||src||
-float Vec3_mag(Vec3 src);
+float Vec3_mag(const Vec3 src);
typedef float Mat4[4][4];
// dst = src_a * src_b
-void Mat4_mul(Mat4 src_a, Mat4 src_b, Mat4 dst);
+void Mat4_mul(const Mat4 src_a, const Mat4 src_b, Mat4 dst);
// Computes the view matrix.
-void Mat4_lookAt(Vec3 camera, Vec3 target, Vec3 up, Mat4 dst);
+void Mat4_lookAt(const Vec3 camera, const Vec3 target, const Vec3 up, Mat4 dst);
// Computes the perspective projection matrix.
void Mat4_perspective(float fov, float aspect, float near, float far, Mat4 dst);
diff --git a/src/vec.c b/src/vec.c
@@ -12,35 +12,35 @@ bool IVec3_equal(const IVec3 a, const IVec3 b)
return (a[0] == b[0]) & (a[1] == b[1]) & (a[2] == b[2]);
}
-void Vec3_scale(Vec3 src, float scale, Vec3 dst)
+void Vec3_scale(const Vec3 src, float scale, Vec3 dst)
{
dst[0] = src[0] * scale;
dst[1] = src[1] * scale;
dst[2] = src[2] * scale;
}
-void Vec3_add(Vec3 src_a, Vec3 src_b, Vec3 dst)
+void Vec3_add(const Vec3 src_a, const Vec3 src_b, Vec3 dst)
{
dst[0] = src_a[0] + src_b[0];
dst[1] = src_a[1] + src_b[1];
dst[2] = src_a[2] + src_b[2];
}
-void Vec3_sub(Vec3 src_a, Vec3 src_b, Vec3 dst)
+void Vec3_sub(const Vec3 src_a, const Vec3 src_b, Vec3 dst)
{
dst[0] = src_a[0] - src_b[0];
dst[1] = src_a[1] - src_b[1];
dst[2] = src_a[2] - src_b[2];
}
-void Vec3_mul(Vec3 src_a, Vec3 src_b, Vec3 dst)
+void Vec3_mul(const Vec3 src_a, const Vec3 src_b, Vec3 dst)
{
dst[0] = src_a[1] * src_b[2] - src_a[2] * src_b[1];
dst[1] = src_a[2] * src_b[0] - src_a[0] * src_b[2];
dst[2] = src_a[0] * src_b[1] - src_a[1] * src_b[0];
}
-void Vec3_normalize(Vec3 src, Vec3 dst)
+void Vec3_normalize(const Vec3 src, Vec3 dst)
{
float m = Vec3_mag(src);
if (m > 0.0f)
@@ -51,22 +51,22 @@ void Vec3_normalize(Vec3 src, Vec3 dst)
}
}
-float Vec3_dot(Vec3 src_a, Vec3 src_b)
+float Vec3_dot(const Vec3 src_a, const Vec3 src_b)
{
return src_a[0] * src_b[0] + src_a[1] * src_b[1] + src_a[2] * src_b[2];
}
-float Vec3_magSquared(Vec3 src)
+float Vec3_magSquared(const Vec3 src)
{
return Vec3_dot(src, src);
}
-float Vec3_mag(Vec3 src)
+float Vec3_mag(const Vec3 src)
{
return sqrtf(Vec3_magSquared(src));
}
-void Mat4_mul(Mat4 src_a, Mat4 src_b, Mat4 dst)
+void Mat4_mul(const Mat4 src_a, const Mat4 src_b, Mat4 dst)
{
// x basis
dst[0][0] = src_a[0][0] * src_b[0][0] + src_a[1][0] * src_b[0][1] + src_a[2][0] * src_b[0][2] + src_a[3][0] * src_b[0][3];
@@ -93,7 +93,7 @@ void Mat4_mul(Mat4 src_a, Mat4 src_b, Mat4 dst)
dst[3][3] = src_a[0][3] * src_b[3][0] + src_a[1][3] * src_b[3][1] + src_a[2][3] * src_b[3][2] + src_a[3][3] * src_b[3][3];
}
-void Mat4_lookAt(Vec3 camera, Vec3 target, Vec3 up, Mat4 dst)
+void Mat4_lookAt(const Vec3 camera, const Vec3 target, const Vec3 up, Mat4 dst)
{
Vec3 f;
Vec3_sub(target, camera, f);