Commit Graph

1437 Commits

Author SHA1 Message Date
BeeverFeever
4c4a69ddfe Should be all 2023-12-11 01:08:10 +11:00
BeeverFeever
865faad116 Fix simd versions 2023-12-10 15:49:59 +11:00
BeeverFeever
22140d8e1b Fix test 2023-12-05 19:48:54 +11:00
BeeverFeever
39602ef4d7 Fix vec4 functions 2023-12-05 18:49:10 +11:00
BeeverFeever
f8b6573de8 Write tests for new functions 2023-12-04 23:28:56 +11:00
BeeverFeever
15f29e05eb Fixed missed function 2023-12-04 23:28:29 +11:00
BeeverFeever
7696374f1e Vector subtraction functions
Add subtraction family of functions for vectors.
2023-12-04 21:32:19 +11:00
Recep Aslantas
049db64a0f Merge pull request #360 from v1993/meson-header-only-subproject
meson: don't build by default if used in a subproject
2023-12-02 15:49:24 +03:00
Recep Aslantas
e71694bb57 Merge branch 'master' into meson-header-only-subproject 2023-12-02 15:48:54 +03:00
Recep Aslantas
8754158fbe Merge pull request #362 from myfreeer/patch-1
ci: initial support of meson and emscripten
2023-12-02 11:13:20 +03:00
Recep Aslantas
e1a0892097 Merge branch 'master' into patch-1 2023-12-02 11:12:43 +03:00
Recep Aslantas
9b26aff466 Merge pull request #361 from myfreeer/myfreeer-patch-4
wasm: prefer pmin/pmax
2023-12-02 11:12:15 +03:00
myfreeer
24e417107b ci: initial support of meson and emscripten
It seems that meson only supports emscripten as a compiler to wasm at present, wasi-sdk support is not completed yet, so this only adds ci build scripts for emscripten.

References:
* <f41bdae368>
* <https://github.com/mesonbuild/meson/pull/11862>
2023-12-02 11:08:33 +08:00
myfreeer
009405adcd wasm: prefer pmin/pmax
According to [emscripten](https://emscripten.org/docs/porting/simd.html) and [v8](b6520eda5e/src/compiler/backend/x64/code-generator-x64.cc (L2661-L2699)), `[f32x4|f64x2].[min|max]` compiles to much more instructions than `[f32x4|f64x2].[pmin|pmax]`.
It is defined in [spec](https://github.com/WebAssembly/spec/blob/main/proposals/simd/SIMD.md#floating-point-min-and-max) that the difference between pmin/pmax and min/max is NaN-propagating behavior, and the equivalent to the x86 `_mm_min_ps`/`_mm_max_ps` is pmin/pmax in [v8](b6520eda5e/src/compiler/backend/x64/code-generator-x64.cc (L2740-L2747)).
This should make functions with min/max faster on webassembly, and align with the existing behavior with x86 sse.
2023-12-02 09:54:49 +08:00
Valeri
0b2006dd47 meson: don't build by default if used in a subproject 2023-12-02 01:44:54 +03:00
Recep Aslantas
1fdc1c8675 struct: remove _vec_inv from struct function lists 2023-12-01 11:18:48 +03:00
Recep Aslantas
6e1d6d505b Merge pull request #357 from v1993/vs-fix
Use the appropriate version of alignof
2023-12-01 11:11:11 +03:00
Valeri
45cf4710c4 Use the appropriate version of alignof 2023-12-01 04:19:47 +03:00
Recep Aslantas
c6e58bd44a Update vec4-ext.h 2023-11-16 13:06:51 +03:00
Recep Aslantas
a81c0f076a Merge pull request #356 from havrik/patch-1
Fix definition logic misspell in 'glm_quat_normalize_to' -> cglm/quat.h
2023-11-16 13:05:42 +03:00
havrik
ab684b7c66 Fix definition logic misspell in 'glm_quat_normalize_to' -> cglm/quat.h 2023-11-16 11:38:47 +03:00
Recep Aslantas
58a4b47830 Merge pull request #354 from One234Fi/revise_troubleshooting_page
Fix spelling and grammar on troubleshooting page
2023-11-09 10:44:06 +03:00
One234Fi
1bfa53f44c spelling and grammar revision 2023-11-08 16:41:07 -06:00
Recep Aslantas
d93b46bab7 Merge pull request #350 from duarm/vec2_center
adding glm_vec2_center
2023-10-15 00:17:47 +03:00
duarm
9efc255451 struct api 2023-10-14 14:24:25 -03:00
duarm
9484155c98 adding vec2_center 2023-10-11 16:51:14 -03:00
Recep Aslantas
509078817c fix glm_ivec2|3_fill and glm_ivec2|3_eq params continue 2023-09-05 20:41:55 +03:00
Recep Aslantas
126f809dae fix glm_ivec2|3_fill and glm_ivec2|3_eq params 2023-09-05 20:19:33 +03:00
Recep Aslantas
e0e7e380e5 Merge pull request #346 from duarm/master
eqv, eq, fill for ivec2 and ivec3, documentation fixes
2023-09-05 09:34:28 +03:00
duarm
d3169b12a7 missing call functions from vec2 2023-09-04 20:14:59 -03:00
duarm
9d0c9fdb87 adding ivec2, ivec3, ivec4 prints, eqv, eq and fill, documentation fixes 2023-09-04 20:07:37 -03:00
Recep Aslantas
f496146bce Merge pull request #345 from telephone001/ins3_bugfix
Fixed glms_mat4_ins3 bug.
2023-08-30 13:03:16 +03:00
LAPTOP-GHFRJ92J\John
54632ecce5 mat4_ins3 should copy mat3s to upper left mat4s. Previously, it just made a new mat4s r and put the mat3 into that and returned it. Now it takes in a mat4s and copies the mat3s to that. 2023-08-29 02:13:24 -05:00
Recep Aslantas
61478d2563 now working on v0.9.2 2023-08-10 09:20:39 +03:00
Recep Aslantas
cdd4d0e83e Merge pull request #340 from recp/non-square-matrix
add some missing non-square matrix funcs
v0.9.1
2023-08-07 17:58:05 +03:00
Recep Aslantas
54dfc4b4f0 Merge branch 'master' into non-square-matrix 2023-08-07 15:37:44 +03:00
Recep Aslantas
f6cb3ba31a Merge pull request #343 from EasyIP2023/non-square-matrix
add docs and tests to non-square-matrix branch
2023-08-07 14:41:08 +03:00
Vincent Davis Jr
da51741c50 test: add missing mat4x3 tests
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:46 -04:00
Vincent Davis Jr
a5d8e61c2b test: add missing mat4x2 tests
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:26 -04:00
Vincent Davis Jr
f0f7b67ef4 test: add missing mat3x4 tests
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:26 -04:00
Vincent Davis Jr
eece0b7bc9 test: add missing mat3x2 tests
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:26 -04:00
Vincent Davis Jr
37d20f7da8 test: add missing mat2x4 tests
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:26 -04:00
Vincent Davis Jr
006e4ffbdf test: add missing mat2x3 tests
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:26 -04:00
Vincent Davis Jr
aa37c1aa74 fix array subscript is outside array bounds
warning: array subscript # is outside array bounds
of ‘float[#]’ [-Warray-bounds]

Commit also fixes variable order when calculating
multiplication between two matrices.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-06 14:12:24 -04:00
Vincent Davis Jr
0fb9e73ec1 docs: add missing non-square matrix funcs
Functions include:
	* glm_mat#x#_copy
	* glm_mat#x#_zero
	* glm_mat#x#_mul
	* glm_mat#x#_mulv
	* glm_mat#x#_transpose
	* glm_mat#x#_scale

Commit also includes some minor changes to
	* mat2
	* mat3
	* mat4

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2023-08-05 20:54:24 -04:00
Recep Aslantas
129287b809 Merge pull request #341 from taisei-project/assume-aligned-detection
more robust __builtin_assume_aligned detection
2023-08-01 18:22:24 +03:00
Andrei Alexeyev
2724620d83 more robust __builtin_assume_aligned detection
__builtin_assume_aligned is available since GCC 4.7, but __has_builtin
was added much later. Check for the GCC version if __has_builtin is not
available.

Users can also define CGLM_HAVE_BUILTIN_ASSUME_ALIGNED to either 1 or 0
to explicitly enable/disable the use of __builtin_assume_aligned. Meson
will do it automatically (by performing a configure-time test).
2023-07-31 22:33:51 +02:00
Recep Aslantas
4d5653b1f6 add some missing non-square matrix funcs in struct api 2023-07-22 14:17:26 +03:00
Recep Aslantas
dbb85f24c8 add some missing non-square matrix funcs 2023-07-22 13:37:36 +03:00
Recep Aslantas
6e9e91be05 add _mul for non-square matrices 2023-07-22 12:00:23 +03:00