Recep Aslantas
a7845ffc44
msvc, simd: fix simd headers for _M_ARM64EC
2024-04-07 00:54:29 +03:00
Recep Aslantas
87350f809b
msvc bug: dont align types due to "ARM32 = C2719: formal parameter with requested alignment of 16 won't be aligned." on ARM32/MSVC
...
until a good solution.
2024-04-06 14:11:46 +03:00
Valeri
45cf4710c4
Use the appropriate version of alignof
2023-12-01 04:19:47 +03:00
Recep Aslantas
54dfc4b4f0
Merge branch 'master' into non-square-matrix
2023-08-07 15:37:44 +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
1e077fd125
add some missing non-square matrix funcs
2023-07-22 01:21:14 +03: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
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
Ned Loynd
f4c9ddf530
Check for builtin before using it
...
The check for __has_builtin being defined and using the __has_builtin() macro need to be on different lines, as when __has_builtin is not defined, using the __has_builtin() macro is an invalid preprocessor directive.
2023-03-07 10:17:44 +11:00
Recep Aslantas
5cd1a4ab44
add missing ivec types
2022-01-06 18:01:35 +03:00
Andrei Alexeyev
5fa908602f
simd/x86: fix -Wcast-align warnings (gcc/clang)
...
This modifies glmm_{load,store}3 functions to make the compiler assume
the v pointer is appropriately aligned for the type it is being cast to.
Not tested with CGLM_ALL_UNALIGNED, but it probably doesn't matter.
2020-11-08 20:09:57 +02:00
Recep Aslantas
8a068c3291
Merge branch 'master' into vec2_mat2
2020-02-23 13:10:36 +03:00
Recep Aslantas
5ee9bb88df
add notes for versor/quaternion type to describe memory layout
2020-02-20 17:29:32 +03:00
Recep Aslantas
ef89cd7236
Merge branch 'master' into vec2_mat2
2019-08-22 15:16:35 +03:00
Recep Aslantas
ad823d9681
mat2: implement some mat2 func
...
* also implement as SSE
2019-06-19 23:35:38 +03:00
Recep Aslantas
2adb4c5593
use CGLM_ALIGN_MAT on mat4 typedef
2019-05-08 09:18:11 +03:00
Recep Aslantas
7219b02d23
remove alignment from vec3 and mat3
2018-12-25 10:08:36 +03:00
Recep Aslantas
aa2b0f2631
code style and minor optimization[s]
2018-09-22 00:10:50 +03:00
Recep Aslantas
7405d5e1d0
Update types.h
2018-09-21 23:33:42 +03:00
Carsten Hartenfels
eefafefbae
Also add a load of other number constants
...
These are all missing from standard C, so we might as well define em.
See https://github.com/recp/cglm/pull/61#discussion_r219406859
2018-09-21 20:03:28 +02:00
Carsten Hartenfels
3fd12032e6
Clean up pi constants, deprecating the old names
...
GLM_PI* is now used for the double versions, GLM_PI*f for the float
versions. The CGLM_ prefixed versions are now deprecated, since that
prefix is kinda only used for constants.
See https://github.com/recp/cglm/pull/61#issuecomment-423069770
2018-09-21 07:29:54 +02:00
Carsten Hartenfels
59ee8c1fd2
Use even more precise definitions for pi constants
...
See https://github.com/recp/cglm/pull/61#issuecomment-422955122
2018-09-21 07:26:55 +02:00
Carsten Hartenfels
d3c50147cb
Replace non-standard M_PI* constants with literals
...
M_PI, M_PI_2 and M_PI_4 aren't part of the C standard. If you put your
gcc into strict standards mode, like `-std=c11`, you won't get these
constants and including cglm.h will fail.
This commit replaces those constants with their literal values. The cast
to a float remains, to keep exactly the same behavior as before.
2018-09-19 20:42:05 +02:00
Jonathan Platzer
cc5f533fc9
Add macro for automatic alignment of matrices
2018-07-19 10:14:30 +02:00
Jonathan Platzer
2d63d7e0cd
Fix alignment issue when using AVX
2018-07-18 12:03:38 +02:00
Recep Aslantas
c6d07bb6eb
surround PI with parentheses + code style + update docs
2018-05-10 12:18:54 +03:00
Recep Aslantas
94b286f1f9
docs: add new alignment option to docs
2018-05-09 16:43:42 +03:00
Recep Aslantas
0e49e95161
win: update visual studio version for align requirement
2018-05-08 18:29:02 +03:00
Recep Aslantas
835cec2ccb
drop alignment requirement if CGLM_ALL_UNALIGNED defined
...
* bring alignment back for visual studio 2017
2018-05-08 16:26:33 +03:00
Recep Aslantas
4dbcd28fdb
use mul_rot for rotations to make thrm faster
2018-04-18 14:12:56 +03:00
Recep Aslantas
3399595dc2
add vec2 type
2018-04-03 10:46:46 +03:00
smx-smx
02ec0a1948
Fixed missing alignment on MinGW + GCC
2017-08-26 21:04:06 +02:00
Recep Aslantas
9d61668e04
re-organise files, remove cglm prefix from file to make them more clean
2017-07-11 18:05:10 +03:00