summaryrefslogtreecommitdiff
path: root/prb_math.h
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-03-19 08:44:10 +0500
committerpryazha <pryadeiniv@mail.ru>2025-03-19 08:44:10 +0500
commitaa00f2f2d7cc70edb45726dc21d359bc05036387 (patch)
tree7f55503104c7c5beda23637408c32c19d013c335 /prb_math.h
parent0bd7c5dc0725a4882cb33c5d8f1a3b101d4025cd (diff)
mainly string change
Diffstat (limited to 'prb_math.h')
-rw-r--r--prb_math.h101
1 files changed, 54 insertions, 47 deletions
diff --git a/prb_math.h b/prb_math.h
index efa0fab..f569100 100644
--- a/prb_math.h
+++ b/prb_math.h
@@ -7,58 +7,65 @@
#define DEG2RAD F32_PI/180.0f
#define RAD2DEG 182.0f/F32_PI
-F32 f32sin(F32 a);
-F32 f32cos(F32 a);
-F32 f32sqrt(F32 a);
+F32 f32sin(F32 a);
+F32 f32cos(F32 a);
+F32 f32tan(F32 a);
+F32 f32sqrt(F32 a);
/* NOTE(pryazha): Vectors */
-V2 v2(F32 x, F32 y);
-V2 v2a(F32 x);
-V2 v2neg(V2 a);
-V2 v2add(V2 a, V2 b);
-V2 v2sub(V2 a, V2 b);
-V2 v2scalef(V2 a, F32 s);
-V2 v2scale(V2 a, V2 s);
-F32 v2dot(V2 a, V2 b);
-F32 v2len2(V2 a);
-F32 v2len(V2 a);
-void v2print(V2 a);
+V2 v2(F32 x, F32 y);
+V2 v2a(F32 x);
+V2 v2inv(V2 a);
+V2 v2add(V2 a, V2 b);
+V2 v2sub(V2 a, V2 b);
+V2 v2scalef(V2 a, F32 s);
+V2 v2scale(V2 a, V2 s);
+F32 v2dot(V2 a, V2 b);
+F32 v2len2(V2 a);
+F32 v2len(V2 a);
+V2 v2norm(V2 a);
+void v2print(V2 a);
-V3 v3(F32 x, F32 y, F32 z);
-V3 v3a(F32 x);
-V3 v3neg(V3 a);
-V3 v3add(V3 a, V3 b);
-V3 v3sub(V3 a, V3 b);
-V3 v3scalef(V3 a, F32 s);
-V3 v3scale(V3 a, V3 s);
-F32 v3dot(V3 a, V3 b);
-V3 v3cross(V3 l, V3 r);
-F32 v3len2(V3 a);
-F32 v3len(V3 a);
-void v3print(V3 a);
+V3 v3(F32 x, F32 y, F32 z);
+V3 v3a(F32 x);
+V3 v3fromv2(V2 a);
+V3 v3fromv4(V4 a);
+V3 v3inv(V3 a);
+V3 v3add(V3 a, V3 b);
+V3 v3sub(V3 a, V3 b);
+V3 v3scalef(V3 a, F32 s);
+V3 v3scale(V3 a, V3 s);
+F32 v3dot(V3 a, V3 b);
+V3 v3cross(V3 l, V3 r);
+F32 v3len2(V3 a);
+F32 v3len(V3 a);
+V3 v3norm(V3 a);
+void v3print(V3 a);
-V4 v4(F32 x, F32 y, F32 z, F32 w);
-V4 v4a(F32 x);
-V4 v4fromv3(V3 a);
-V4 v4neg(V4 a);
-V4 v4add(V4 a, V4 b);
-V4 v4sub(V4 a, V4 b);
-V4 v4scalef(V4 a, F32 s);
-V4 v4scale(V4 a, V4 s);
-F32 v4dot(V4 a, V4 b);
-F32 v4len2(V4 a);
-F32 v4len(V4 a);
-void v4print(V4 a);
+V4 v4(F32 x, F32 y, F32 z, F32 w);
+V4 v4a(F32 x);
+V4 v4fromv3(V3 a);
+V4 v4inv(V4 a);
+V4 v4add(V4 a, V4 b);
+V4 v4sub(V4 a, V4 b);
+V4 v4scalef(V4 a, F32 s);
+V4 v4scale(V4 a, V4 s);
+F32 v4dot(V4 a, V4 b);
+F32 v4len2(V4 a);
+F32 v4len(V4 a);
+V4 v4norm(V4 a);
+void v4print(V4 a);
/* NOTE(pryazha): Matrices */
-F32 mat4det(Mat4 m);
-Mat4 mat4transpose(Mat4 m);
-Mat4 mat4mul(Mat4 left, Mat4 right);
-Mat4 mat4translate(Mat4 m, V3 v);
-Mat4 mat4scale(Mat4 m, V3 v);
-Mat4 mat4_change_basis(V3 x, V3 y, V3 z);
-Mat4 mat4rotate(Mat4 m, V3 angles); /* NOTE(pryazha): Angles in degrees */
-V4 mat4v4mul(Mat4 m, V4 v);
-void mat4print(Mat4 m);
+F32 mat4det(MAT4 m);
+MAT4 mat4transp(MAT4 m);
+MAT4 mat4mul(MAT4 left, MAT4 right);
+MAT4 mat4transl(MAT4 m, V3 v);
+MAT4 mat4scale(MAT4 m, V3 v);
+MAT4 mat4_change_basis(V3 x, V3 y, V3 z);
+/* NOTE(pryazha): Angles in degrees */
+MAT4 mat4rotate(MAT4 m, V3 angles);
+V4 mat4v4mul(MAT4 m, V4 v);
+void mat4print(MAT4 m);
#endif /* PRB_MATH_H */