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
Recep Aslantas
1fdc1c8675
struct: remove _vec_inv from struct function lists
2023-12-01 11:18:48 +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
havrik
ab684b7c66
Fix definition logic misspell in 'glm_quat_normalize_to' -> cglm/quat.h
2023-11-16 11:38: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
duarm
9d0c9fdb87
adding ivec2, ivec3, ivec4 prints, eqv, eq and fill, documentation fixes
2023-09-04 20:07:37 -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
54dfc4b4f0
Merge branch 'master' into non-square-matrix
2023-08-07 15:37:44 +03: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
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
Recep Aslantas
1e077fd125
add some missing non-square matrix funcs
2023-07-22 01:21:14 +03:00
Recep Aslantas
cb4a1b2677
Merge pull request #338 from EasyIP2023/feature/mat4x3
...
add new matrix mat4x3
2023-07-18 09:09:00 +03:00
Vincent Davis Jr
e9df003e56
types-struct: fix mat4x2s struct members
...
union mat4x2s { struct { } } contains
members with incorrect naming.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-17 23:09:40 -04:00
Vincent Davis Jr
3d292c3a2e
add new matrix mat4x3
...
Initial function being
glm_mat4x3_make
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-17 22:57:52 -04:00
Vincent Davis Jr
2df26c0ecf
add new matrix mat4x2
...
Initial function being
glm_mat4x2_make
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-16 20:19:25 -04:00
Recep Aslantas
ef8954ccbc
Merge branch 'master' into feature/mat3x4
2023-07-16 23:31:33 +03:00
Vincent Davis Jr
82892085b3
docs: fix mat#x# comments and documentation
...
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-16 15:46:35 -04:00
Vincent Davis Jr
e09cf11f1c
add new matrix mat3x4
...
Initial function being
glm_mat3x4_make
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-16 15:41:36 -04:00
Vincent Davis Jr
4e44e74d48
add new matrix mat3x2
...
Initial function being
glm_mat3x2_make
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-15 18:48:50 -04:00
Vincent Davis Jr
dd6a0b3175
add missing mat2x# test and mat2x3 window headers
...
Missing tests where
* MACRO_GLM_MAT2X3_ZERO_INIT
* MACRO_GLM_MAT2X3_ZERO
* mat2x3s_zero_init
* mat2x3s_zero
* mat2x4s_zero_init
* mat2x4s_zero
Commit:
* removes (mat2x3) from
((mat2x3)GLM_MAT2X3_ZERO_INIT) to fix
error: array initialized from non-constant array expression
* removes test_assert_mat2x3_eq_zero
from test/src/test_struct.c
* adds TEST_IMPL(mat2x3s_zero) to
test/src/test_struct.c
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-15 16:16:03 -04:00
Vincent Davis Jr
fe7471e8f8
add new matrix mat2x4
...
Initial function being
glm_mat2x4_make
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-15 14:32:48 -04:00
Vincent Davis Jr
6317ed90e7
add new matrix mat2x3
...
Initial function being
glm_mat2x3_make
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-14 18:57:45 -04:00
Recep Aslantas
93cdc897a5
suppress warinngs
2023-07-08 23:13:20 +03:00
Recep Aslantas
0962f7d2e7
fix param name in inline doc
2023-07-08 12:19:22 +03:00
Recep Aslantas
8e2074c274
Merge branch 'master' into feature/glm_vec2_make
2023-07-02 22:03:40 +03:00
Recep Aslantas
b8d565c6b6
Merge branch 'master' into feature/glm_vec4_make
2023-07-02 22:02:10 +03:00
Recep Aslantas
924d92ae3f
Merge branch 'master' into feature/glm_vec3_make
2023-07-02 22:01:43 +03:00
Vincent Davis Jr
5833d1bf44
vec4: add new function glm_vec4_make
...
Function takes in a float array. Array must be
at least of size 4 and converts it into
a 4D vector.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-02 13:54:10 -05:00
Vincent Davis Jr
aeeeac4c5a
vec3: add new function glm_vec3_make
...
Function takes in a float array. Array must be
at least of size 3 and converts it into
a 3D vector.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-02 13:25:25 -05:00
Vincent Davis Jr
b3de85a14e
vec2: add new function glm_vec2_make
...
Just a copy of glm_vec2, but with the
word _make suffixed at the end.
Function takes in a float array array must be
at least of size 2 and converts it into
a 2D vector.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-02 12:41:23 -05:00
Vincent Davis Jr
5e798a94e3
test_quat: add more robust quat_make test
...
Makes it so that it's easier to identify
the potential usecase of function. Commit also
includes a fix to the struct/quat.h glms_quat_make
comment. Should be returning versors it's not
a void function.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-07-02 12:37:28 -05:00
Vincent Davis Jr
bfe5ea6ab7
quat: add new function glm_quat_make
...
Function takes in a 4 element float array
and converts it into a quaternion.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-06-28 22:49:49 -05:00
Wladislav ヴラド Artsimovich
87ae96b847
Fix Singular / Plural in comments
2023-06-16 17:40:06 +09:00
Wladislav ヴラド Artsimovich
9cf4190c9b
Fix comments of vec2 explaining vec3 math
2023-06-16 17:26:30 +09:00
Wladislav ヴラド Artsimovich
702bed8173
Implement missing Struct API 3D Affine Transforms
2023-06-15 18:18:52 +09:00
Wladislav ヴラド Artsimovich
e9aa249a73
Add forgotten function listing in comment
2023-06-15 17:42:06 +09:00
Recep Aslantas
adec2ee8e6
Update box.h
2023-06-15 10:16:06 +03:00
Recep Aslantas
6183b213e2
suppress sign conversion warnings
2023-06-12 13:56:49 +03:00
Recep Aslantas
16fcaf7fc0
Update types-struct.h
2023-06-08 06:28:40 +03:00
Recep Aslantas
530ec2d0f8
reduce glms_mat[4|3|2]_make()'s dest parameter
...
the return value is the dest.
2023-05-16 14:26:11 +03:00
Recep Aslantas
610788bed1
Merge branch 'master' into bug/test-runner
2023-05-15 21:32:51 +03:00
Vincent Davis Jr
2d6538ecec
io: fix test runner.c implicit declaration glm_arch_print
...
Problem:
../test/runner.c:29:3: error: implicit declaration of function
‘glm_arch_print’ [-Werror=implicit-function-declaration]
29 | glm_arch_print(stderr);
| ^~~~~~~~~~~~~~
| glm_vec2_print
glm_arch_print is not available unless you add the DEBUG macro.
Signed-off-by: Vincent Davis Jr <vince@underview.tech >
2023-05-15 11:30:13 -05:00