Commit Graph

577 Commits

Author SHA1 Message Date
Groove
16106b2e3e Added C++17 detection, added VC language version detection, clean up alignment type, clean up swizzle operator detection 2018-07-11 02:53:22 +02:00
Groove
c5386c05f9 More constexpr experiments 2018-07-10 22:49:48 +02:00
Groove
5ddfa3f8a9 More constexpr test 2018-07-10 22:17:31 +02:00
Groove
50bd4b0711 Initial work on more constexpr support in GLM 2018-07-10 22:07:03 +02:00
Christophe Riccio
e48c5ae892 More use of initializer lists 2018-07-10 11:52:00 +02:00
Groove
f95abf2c27 Added more constexpr tests #783 2018-07-10 00:06:28 +02:00
Groove
c06993191f Added initial constexpr tests #783 2018-07-09 23:54:10 +02:00
Groove
13ef0f92bc Added detection of Visual C++ 2017 toolsets 2018-07-09 23:23:24 +02:00
Groove
f889ac0bfe Added initial constexpr tests #783 2018-07-09 21:55:19 +02:00
Groove
398e66ac32 Redesigned constexpr support which requires disable GLM SIMD on Visual C++ #783 2018-07-09 21:44:28 +02:00
Groove
cdcc9467d0 Fixed core_type_vec4 tests 2018-07-09 17:45:55 +02:00
Groove
3a1787795e Fixed warning 2018-07-09 09:19:42 +02:00
Groove
213a66f9bf - Added missing vec1 based constructors 2018-07-07 12:04:27 +02:00
Groove
ec261bd21b Added vec1 based constructors to vec4 with tests and fixed build 2018-07-06 22:22:09 +02:00
Groove
f5e27805af Added vec1 based constructors to vec3 with tests and fixed build 2018-07-06 21:08:06 +02:00
Groove
97ad14cf82 Added vec1 based constructors to vec2 zith tests and started vec3 2018-07-05 15:21:34 +02:00
Christophe Riccio
11c26f9edb Fixed build problems due to printf and std::clock_t #778 2018-06-18 12:40:00 +02:00
Christophe Riccio
1139f10a59 Fixed build 2018-06-02 00:25:58 +02:00
Christophe Riccio
b4981e56fa Added bitfieldDeinterleave with tests 2018-06-01 18:01:35 +02:00
Christophe Riccio
b5632f5a18 Added bvec3_ctor test 2018-05-03 11:49:38 +02:00
Christophe
2fd7333dd3
Merge pull request #725 from elect86/master
Fixed core_func_common.cpp unsigned test #725
2018-03-17 10:59:03 +01:00
Giuseppe Barbieri
b2a1d7a293
Update core_func_common.cpp 2018-01-26 15:08:02 +01:00
Christophe Riccio
26c395c78b Fixed build 2018-01-04 17:14:27 +01:00
Christophe Riccio
85811f3860 Fixed test 2018-01-04 15:54:49 +01:00
Christophe Riccio
1190ae0b0e Added test 2017-11-22 18:36:36 +01:00
Kai Dietrich
708a886bb0 Add a CXX11-conditional test for exp2 precision with larger exponents 2017-10-26 09:41:15 +02:00
Christophe Riccio
fcbedf5058 Fixed glm::step that didn't work with scalars #684 2017-10-22 16:58:09 +02:00
Christophe Riccio
d550798ca0 Added EXT_vec1: *vec1 types 2017-08-21 10:36:27 +02:00
Christophe Riccio
7466c4a9e7 Fixed Visual C++ warnings 2017-08-18 20:08:36 +02:00
Christophe Riccio
f654900a01 Fixed warnings 2017-08-18 16:54:53 +02:00
Christophe Riccio
c4794851aa Fixed /W4 warnings 2017-08-18 13:48:47 +02:00
Christophe Riccio
2c2d3931ee Fixed Visual C++ /W4 warnings 2017-08-18 12:59:16 +02:00
Christophe Riccio
e9f210c85f Enable /WX, warning as error on Visual Studio 2017-08-17 19:51:03 +02:00
Christophe Riccio
1cead1904a Fixed matrix test using fast math with Clang 2017-08-17 12:24:23 +02:00
Christophe Riccio
3a560f3fd5 Minimum perf run in debug build 2017-08-17 11:55:50 +02:00
Christophe Riccio
e37cf6e47f Fixed GCC 7.1.0 failing tests #666 2017-08-17 00:08:37 +02:00
Christophe Riccio
22fe828159 Improved GTC_type_precision and added issues regarding SIMD and constexpr interaction #653 2017-08-16 22:35:29 +02:00
Christophe Riccio
cdb28edcaa Added test for inheritance #650 2017-08-16 18:44:20 +02:00
Christophe Riccio
faf1da52b7 Renamed P (for precision) template argument to Q (for qualifier) 2017-08-16 01:22:50 +02:00
Christophe Riccio
e76fca75a0 More consistent coding style 2017-08-15 22:04:24 +02:00
Christophe Riccio
d1afe662be More consistent coding style 2017-08-15 21:59:47 +02:00
Christophe Riccio
a805fb9d68 Renamed precision enum to qualifier 2017-08-15 21:23:47 +02:00
Christophe Riccio
ac3abfdac7 Replaced vecType template argument by vec template 2017-08-15 19:07:25 +02:00
Christophe Riccio
da84db5481 Replaced vecType by vec 2017-08-15 17:32:36 +02:00
Christophe Riccio
78e06f815b Fixed clang test 2017-08-10 03:23:00 +02:00
Christophe Riccio
b936761960 Fixed warnings 2017-08-09 22:15:01 +02:00
Christophe Riccio
2cc0c53da7 Fixed warnings 2017-08-08 23:19:16 +02:00
Christophe Riccio
f445a24f82 Fixed test warnings 2017-08-08 22:44:13 +02:00
Christophe Riccio
d712ac930f Fixed test build 2017-08-08 21:33:57 +02:00
Christophe Riccio
5a747d2ae5 Fixed warnings 2017-08-08 20:28:37 +02:00
Christophe Riccio
32054a8fdf Fixed warnings with -Weverything 2017-08-08 15:17:25 +02:00
Christophe Riccio
0f34103f4f Fixed warnings with -Weverything 2017-08-08 15:01:07 +02:00
Christophe Riccio
97ac535144 Fixed warnings with -Weverything 2017-08-08 14:59:11 +02:00
Christophe Riccio
d799c282db Fixed warnings 2017-08-08 14:25:06 +02:00
Christophe Riccio
5ada4dbd65 Fixed exponential tests 2017-08-07 03:53:00 +02:00
Christophe Riccio
01bac6a524 Improved exponential funtion test coverage 2017-08-07 03:35:21 +02:00
Christophe Riccio
cedc72e07a Fixed log test 2017-08-07 03:17:46 +02:00
Christophe Riccio
45a716b893 Fixed epsilonEqual build 2017-08-07 03:18:21 +02:00
Christophe Riccio
d63aa4ea85 Fixed build 2017-08-06 23:43:53 +02:00
Christophe Riccio
384dab02e4 Reduce the number of warnings with -Weverything #646 2017-08-06 23:00:05 +02:00
Christophe Riccio
e4ffe16bed Revert "Fixed vec4 SIMD constexpr #653"
This reverts commit 950d226154.
2017-08-06 15:49:50 +02:00
Christophe Riccio
950d226154 Fixed vec4 SIMD constexpr #653 2017-07-26 02:06:33 +02:00
Christophe Riccio
c933f6e591 Clean up GLM_FORCE_NO_CTOR_INIT and fixed tests 2017-07-25 22:15:55 +02:00
Christophe Riccio
f2cb4a3fdf Fixed vec1 test 2017-07-25 21:23:25 +02:00
Christophe Riccio
9443d8d9ca Added length constexpr test #657 2017-07-24 13:17:00 +02:00
Christophe Riccio
83602bdea4 - Fixed GLM_FORCE_SIZE_T_LENGTH and add test coverage #624 2017-06-04 10:50:47 +02:00
Christophe Riccio
4875f79eb0 Removed old compiler version 2017-01-20 22:42:53 +01:00
Christophe Riccio
39f775fa6c Merged 0.9.8 branch 2017-01-07 12:15:08 +01:00
Christophe Riccio
4e267b1b4f Fixed Visual C++ internal error when declaring a global vec type with siwzzle expression enabled #594 2017-01-04 23:56:47 +01:00
Christophe Riccio
c2fe3fccf6 Use length_t instead of int for vec and mat lengths #584 2016-12-30 20:05:04 +01:00
Christophe Riccio
4dd748f380 Renamed tvec into vec 2016-12-30 00:03:34 +01:00
John McFarlane
506a487d24 parameterize number of dimensions of vector in tvec<D, T, P>
- specializes for 1, 2, 3 and 4-dimensional vector types
  which are then aliased as tvec1, tvec2, tvec3 and tvec4
- requires C++11 aliases; breaks compatability with C++03
- tested on:
  - clang-3.5.2, clang-3.8.0
  - gcc 4.8.5, gcc 5.4.1, gcc 6.2.0

TODO:
- still uses template template parameters - most can probably be removed
- some definitions might now be de-duplicated
2016-12-28 17:07:12 -08:00
Christophe Riccio
dd48b56e44 Updated list of supported compilers 2016-12-02 01:14:36 +01:00
Christophe Riccio
2dda5af72c Fixed GCC 4.5 and older build #566 2016-12-01 23:05:43 +01:00
Christophe Riccio
2ea3cd5d7b Fixed GLM test warning 2016-11-24 21:21:54 +01:00
Christophe Riccio
f26628f661 Fixed GLM test warning 2016-11-24 21:19:05 +01:00
Christophe Riccio
3cdb61c4a0 Fixed GLM test warning 2016-11-24 21:16:43 +01:00
Christophe Riccio
bb1debc9e1 Fixed GLM test warning 2016-11-24 21:16:02 +01:00
Christophe Riccio
d39749d1d6 Fixed GLM test warning 2016-11-24 21:12:37 +01:00
Christophe Riccio
feef0fb5b9 Fixed Visual C++ 2013 test build 2016-11-20 23:21:14 +01:00
Christophe Riccio
c7e81fb3f7 Merge branch '0.9.8' 2016-11-20 23:04:25 +01:00
Christophe Riccio
c83e38f9fb Prevent TravisCI timeout, shorter test 2016-11-20 22:53:13 +01:00
Christophe Riccio
9f6a96f65d Workaround GCC tests failure 2016-11-19 22:10:47 +01:00
Christophe Riccio
f882bf5909 Fixed Visual C++ 2013 test build 2016-11-19 21:46:02 +01:00
Christophe Riccio
535040b207 Made quat, vec, mat type component length() static #565 2016-11-01 09:07:04 +01:00
Christophe Riccio
9298939816 length becomes a static function #565 2016-11-01 08:44:14 +01:00
Christophe Riccio
1c85265f97 Added Visual C++ 15 detection, Added Clang 4.0 detection, Refactored GLM_COMPILER_VC values 2016-10-12 21:40:03 +02:00
Christophe Riccio
19a6d64e8c Fixed Visual C++ constexpr build error #555, #556 2016-10-10 22:03:57 +02:00
Christophe Riccio
f5f8620056 Added pure test 2016-09-25 10:29:08 +02:00
Christophe Riccio
b719a9f6cc Added test for GCC 2016-09-18 19:30:51 +02:00
Christophe Riccio
8c960dc647 Alignof is a C++11 feature 2016-09-18 19:30:30 +02:00
Christophe Riccio
d8e30c5fde Improved core_type_aligned test 2016-09-18 19:30:14 +02:00
Christophe Riccio
24532ecbf1 Added aligned storage tests #548 2016-09-18 19:30:00 +02:00
Christophe Riccio
a609a0fea6 - Added more information to build messages 2016-09-02 00:30:37 +02:00
Christophe Riccio
10dc67e2b5 - Added GLM_FORCE_UNRESTRICTED_GENTYPE allowing non basic genType #543 2016-09-01 23:32:12 +02:00
Christophe Riccio
f71171d49b Fixed 32-bits build #528 #529, fixed VC 32 bits crash 2016-08-07 12:43:38 +02:00
Christophe Riccio
dc89797275 - Added quaternion version of isnan and isinf #521 2016-07-17 01:02:30 +02:00
Christophe Riccio
6271aa1530 Merged 0.9.7 branch, Factorized GLM_COMPILER_LLVM and GLM_COMPILER_APPLE_CLANG into GLM_COMPILER_CLANG 2016-07-16 00:54:05 +02:00
Christophe Riccio
76fce77337 - Updated list of compiler versions detected 2016-07-15 23:49:20 +02:00
Christophe Riccio
6e9b524be1 Fixed matrix functions using SIMD code on unaligned types #518 2016-07-14 15:21:45 +02:00
Christophe Riccio
0e1e181484 Clean up 2016-06-10 23:14:17 +02:00
Christophe Riccio
fd4ada5843 Support aligned *vec* even when SIMD isn't enabled 2016-06-02 00:33:55 +02:00
Christophe Riccio
41984e42ab Added GTC_type_aligned with aligned *vec* types 2016-06-01 00:43:35 +02:00
Christophe Riccio
688756b3e2 SIMD matrix functions optimizations 2016-05-30 18:01:06 +02:00
Christophe Riccio
52f8ecd973 Added AVX optimizations and equal tests 2016-05-30 14:23:58 +02:00
Christophe Riccio
9ed2a9601b Adde vec4 swizzle operators SIMD optimizations 2016-05-30 02:00:32 +02:00
Christophe Riccio
b9199a2c1a Refactoring of swizzle operators, preparing for vec4 swizzle SIMD optimizations 2016-05-30 01:39:16 +02:00
Christophe Riccio
28cb770d14 SIMD common functions optimizations 2016-05-29 19:14:39 +02:00
Christophe Riccio
42d86b8955 Fixed exponential low level API 2016-05-29 03:14:19 +02:00
Christophe Riccio
20cf68679c SIMD sqrt optimizations including lowp 2016-05-29 02:57:53 +02:00
Christophe Riccio
7fe2f5fe65 Renamed instruction set flags 2016-05-28 19:26:59 +02:00
Christophe Riccio
d33e3df02a Fixed SIMD code path selection 2016-05-28 18:24:39 +02:00
Christophe Riccio
ab159770b3 mad optimizations, fixed build 2016-05-28 17:12:48 +02:00
Christophe Riccio
fdec412ff7 Added FMA SIMD optimization 2016-05-28 12:31:43 +02:00
Christophe Riccio
a9fefc7300 Added vec4 SIMD contructor specialization 2016-05-28 01:33:29 +02:00
Christophe Riccio
f577611328 Added bitwise inverse SIMD optimization. Factorized bitwise optimization code 2016-05-27 23:03:38 +02:00
Christophe Riccio
4797ea9540 Added specialized SSE2 and AVX bool mix 2016-05-26 02:47:43 +02:00
Christophe Riccio
72c741d8ea Fixed sign with signed integer function on non-x86 architecture 2016-05-24 13:29:18 +02:00
Christophe Riccio
757fe39587 Removed simd precision qualifier. All precision qualifiers may generate SIMD instructions, precision may affect the generated instructions accordingly 2016-05-22 17:12:32 +02:00
Christophe Riccio
93612791cd Removed Apple specific check for LLVM versions 2016-05-04 18:46:59 +02:00
Christophe Riccio
affd5f3ba0 Fixed CUDA compiler error in type_vec4.inl #504 2016-05-04 16:35:57 +02:00
Christophe Riccio
1f71f6fb3a Improved SIMD and swizzle operators interactions with GCC and Clang, Added raw SIMD API. 2016-05-03 23:57:41 +02:00
Christophe Riccio
be8d6c9ccc Fixed test 2016-05-01 01:40:06 +02:00
Christophe Riccio
fa6f5cdcbb Fixed warning 2016-05-01 01:35:54 +02:00
Christophe Riccio
2f9fc55d88 More experiments to improve SIMD support 2016-05-01 01:12:22 +02:00
Christophe Riccio
234d7d4ba9 Simplify code removing GLM_FORCE_SIZE_FUNC, GLM_META_PROG_HELPERS, GLM_STATIC_CONST_MEMBERS and 'type' type trait. Added experiments for GTX_type_trait 2016-03-13 12:56:26 +01:00
Christophe Riccio
c853df1638 Added uround to GTC_integer, fast round on positive values 2016-03-10 21:17:46 +01:00
Paul Konstantin Gerke
239cf70ade Fixed: outerProduct was defined incorrectly for unmatched vecX types. E.g. outerProduct(vec2, vec4) did not succeed because the matrix return types were wrong. The computing function seemed fine. I used https://en.wikipedia.org/wiki/Outer_product as reference on what the number of columns/rows ''should'' be and fixed it so that it matches the description from wikipedia
Added: tests for outerProduct with unmatched vector dimensions (actually testing all combinations now)
2016-03-05 23:51:20 +01:00
Angelica Wrangler
72a8ba473d Merge pull request #475 from MrApplejuice/master
Fixed: outerProduct defintions and operator signatures for mat2x4 and vec4 #475
2016-03-05 23:18:21 +01:00
Joonas Sarajärvi
bc09ecf898 setup: detect GCC 6.0 2016-02-15 20:27:10 +01:00
Joonas Sarajärvi
f0acbbd4ac setup: detect GCC 6.0 2016-02-04 19:42:25 +02:00
Paul Konstantin Gerke
fb309e0eff Fixed: outerProduct was defined incorrectly for unmatched vecX types. E.g. outerProduct(vec2, vec4) did not succeed because the matrix return types were wrong. The computing function seemed fine. I used https://en.wikipedia.org/wiki/Outer_product as reference on what the number of columns/rows ''should'' be and fixed it so that it matches the description from wikipedia
Added: tests for outerProduct with unmatched vector dimensions (actually testing all combinations now)
2016-01-24 21:14:25 +01:00
humbletim
5d46e5186d remove extraneous test block 2016-01-03 18:30:29 +01:00
Adrian Krupa
c9400562ec Fixed build 2016-01-03 18:25:45 +01:00
humbletim
52c9f124e3 Fixed ldexp and frexp compilation errors 2016-01-03 18:20:13 +01:00
Christophe R
8d4d9d1877 Merge pull request #466 from humbletim/master
Fixed ldexp compilation error #466
2016-01-01 14:34:04 +01:00
Christophe Riccio
d269a92c2d Merge branch 'master' of https://github.com/g-truc/glm 2015-12-24 09:56:00 +01:00
humbletim
ac7ae32856 remove extraneous test block 2015-12-19 19:30:00 -05:00
humbletim
8c55a64fdd Fixed ldexp compilation error 2015-12-19 19:22:33 -05:00
Adrian Krupa
8fd8c56074 Fixed frexp compilation error 2015-11-29 20:53:04 +01:00
Christophe Riccio
b51f4e8981 Added test 2015-11-14 13:25:06 +01:00
Christophe Riccio
a257beb5de Added missing bvec* && and || operators 2015-10-15 04:28:08 +02:00
Christophe R.
143c4c336a Merge pull request #429 from JesseTG/jtg/static-const
Add GLM_STATIC_CONST_MEMBERS #429
2015-10-07 22:28:49 +02:00
Christophe Riccio
8814ae50c9 Fixed GTX_extended_min_max filename typo #386 2015-10-07 21:49:33 +02:00
Jesse Talavera-Greenberg
9604a7549f Add IDENTITY and ZERO constants for all matrices
- Tests, too
2015-10-05 19:26:30 -04:00
Jesse Talavera-Greenberg
5df08dfc78 Wrap tvec4's static constants in GLM_STATIC_CONST_MEMBERS
- Fix the indentation, too
2015-10-05 18:25:01 -04:00
Jesse Talavera-Greenberg
8be318970c Wrap tvec3's static constants in GLM_STATIC_CONST_MEMBERS
- Fixed the indentation, too
2015-10-05 18:24:31 -04:00
Jesse Talavera-Greenberg
4552ec737e Wrap tvec2's static constants in GLM_STATIC_CONST_MEMBERS 2015-10-05 18:23:18 -04:00
Jesse Talavera-Greenberg
5a60b3986b Wrap tvec1's static constants in GLM_STATIC_CONST_MEMBERS 2015-10-05 18:22:43 -04:00
Jesse Talavera-Greenberg
02b011651b Add static constants to vec4
- Tests, too
2015-10-02 18:34:53 -04:00