389 Commits

Author SHA1 Message Date
Ian Cavén
894e39f69d Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	.github/workflows/ci.yml
#	CMakeLists.txt
#	doc/api/a00002_source.html
#	doc/api/a00005_source.html
#	doc/api/a00008_source.html
#	doc/api/a00011_source.html
#	doc/api/a00014_source.html
#	doc/api/a00017_source.html
#	doc/api/a00020_source.html
#	doc/api/a00023_source.html
#	doc/api/a00026_source.html
#	doc/api/a00029_source.html
#	doc/api/a00032_source.html
#	doc/api/a00035_source.html
#	doc/api/a00038_source.html
#	doc/api/a00041.html
#	doc/api/a00041_source.html
#	doc/api/a00044.html
#	doc/api/a00044_source.html
#	doc/api/a00047_source.html
#	doc/api/a00050.html
#	doc/api/a00050_source.html
#	doc/api/a00053.html
#	doc/api/a00053_source.html
#	doc/api/a00056.html
#	doc/api/a00056_source.html
#	doc/api/a00059.html
#	doc/api/a00059_source.html
#	doc/api/a00062.html
#	doc/api/a00062_source.html
#	doc/api/a00065.html
#	doc/api/a00065_source.html
#	doc/api/a00068.html
#	doc/api/a00068_source.html
#	doc/api/a00071.html
#	doc/api/a00071_source.html
#	doc/api/a00074.html
#	doc/api/a00074_source.html
#	doc/api/a00077.html
#	doc/api/a00077_source.html
#	doc/api/a00080.html
#	doc/api/a00080_source.html
#	doc/api/a00083.html
#	doc/api/a00083_source.html
#	doc/api/a00086_source.html
#	doc/api/a00089.html
#	doc/api/a00089_source.html
#	doc/api/a00092.html
#	doc/api/a00092_source.html
#	doc/api/a00095_source.html
#	doc/api/a00098.html
#	doc/api/a00098_source.html
#	doc/api/a00101.html
#	doc/api/a00101_source.html
#	doc/api/a00104.html
#	doc/api/a00104_source.html
#	doc/api/a00107.html
#	doc/api/a00107_source.html
#	doc/api/a00110.html
#	doc/api/a00110_source.html
#	doc/api/a00113.html
#	doc/api/a00113_source.html
#	doc/api/a00116.html
#	doc/api/a00116_source.html
#	doc/api/a00119.html
#	doc/api/a00119_source.html
#	doc/api/a00122.html
#	doc/api/a00122_source.html
#	doc/api/a00125.html
#	doc/api/a00125_source.html
#	doc/api/a00128.html
#	doc/api/a00128_source.html
#	doc/api/a00131.html
#	doc/api/a00131_source.html
#	doc/api/a00134.html
#	doc/api/a00134_source.html
#	doc/api/a00137.html
#	doc/api/a00137_source.html
#	doc/api/a00140.html
#	doc/api/a00140_source.html
#	doc/api/a00143.html
#	doc/api/a00143_source.html
#	doc/api/a00146.html
#	doc/api/a00146_source.html
#	doc/api/a00149.html
#	doc/api/a00149_source.html
#	doc/api/a00152.html
#	doc/api/a00152_source.html
#	doc/api/a00155.html
#	doc/api/a00155_source.html
#	doc/api/a00158.html
#	doc/api/a00158_source.html
#	doc/api/a00161.html
#	doc/api/a00161_source.html
#	doc/api/a00164_source.html
#	doc/api/a00167.html
#	doc/api/a00167_source.html
#	doc/api/a00170.html
#	doc/api/a00170_source.html
#	doc/api/a00173.html
#	doc/api/a00173_source.html
#	doc/api/a00176.html
#	doc/api/a00176_source.html
#	doc/api/a00179.html
#	doc/api/a00179_source.html
#	doc/api/a00182.html
#	doc/api/a00182_source.html
#	doc/api/a00185.html
#	doc/api/a00185_source.html
#	doc/api/a00188_source.html
#	doc/api/a00191.html
#	doc/api/a00191_source.html
#	doc/api/a00194.html
#	doc/api/a00194_source.html
#	doc/api/a00197.html
#	doc/api/a00197_source.html
#	doc/api/a00200.html
#	doc/api/a00200_source.html
#	doc/api/a00203.html
#	doc/api/a00203_source.html
#	doc/api/a00206.html
#	doc/api/a00206_source.html
#	doc/api/a00209.html
#	doc/api/a00209_source.html
#	doc/api/a00212.html
#	doc/api/a00212_source.html
#	doc/api/a00215.html
#	doc/api/a00215_source.html
#	doc/api/a00218.html
#	doc/api/a00218_source.html
#	doc/api/a00221.html
#	doc/api/a00221_source.html
#	doc/api/a00224.html
#	doc/api/a00224_source.html
#	doc/api/a00227.html
#	doc/api/a00227_source.html
#	doc/api/a00230.html
#	doc/api/a00230_source.html
#	doc/api/a00233.html
#	doc/api/a00233_source.html
#	doc/api/a00242.html
#	doc/api/a00245.html
#	doc/api/a00248.html
#	doc/api/a00251.html
#	doc/api/a00254.html
#	doc/api/a00260.html
#	doc/api/a00263.html
#	doc/api/a00269.html
#	doc/api/a00272.html
#	doc/api/a00275.html
#	doc/api/a00278.html
#	doc/api/a00281.html
#	doc/api/a00284.html
#	doc/api/a00287.html
#	doc/api/a00290.html
#	doc/api/a00293.html
#	doc/api/a00296.html
#	doc/api/a00299.html
#	doc/api/a00305.html
#	doc/api/a00308.html
#	doc/api/a00311.html
#	doc/api/a00314.html
#	doc/api/a00317.html
#	doc/api/a00320.html
#	doc/api/a00323.html
#	doc/api/a00326.html
#	doc/api/a00329.html
#	doc/api/a00332.html
#	doc/api/a00335.html
#	doc/api/a00338.html
#	doc/api/a00341.html
#	doc/api/a00344.html
#	doc/api/a00347.html
#	doc/api/a00350.html
#	doc/api/a00353.html
#	doc/api/a00356.html
#	doc/api/a00359.html
#	doc/api/a00362.html
#	doc/api/a00365.html
#	doc/api/a00368.html
#	doc/api/a00374.html
#	doc/api/bc_s.png
#	doc/api/bdwn.png
#	doc/api/closed.png
#	doc/api/doc.png
#	doc/api/doxygen.css
#	doc/api/doxygen.png
#	doc/api/dynsections.js
#	doc/api/files.html
#	doc/api/folderclosed.png
#	doc/api/folderopen.png
#	doc/api/index.html
#	doc/api/jquery.js
#	doc/api/modules.html
#	doc/api/nav_f.png
#	doc/api/nav_h.png
#	doc/api/open.png
#	doc/api/search/all_0.html
#	doc/api/search/all_0.js
#	doc/api/search/all_1.html
#	doc/api/search/all_1.js
#	doc/api/search/all_10.html
#	doc/api/search/all_10.js
#	doc/api/search/all_11.html
#	doc/api/search/all_11.js
#	doc/api/search/all_12.html
#	doc/api/search/all_12.js
#	doc/api/search/all_13.html
#	doc/api/search/all_13.js
#	doc/api/search/all_14.html
#	doc/api/search/all_14.js
#	doc/api/search/all_15.html
#	doc/api/search/all_15.js
#	doc/api/search/all_16.html
#	doc/api/search/all_16.js
#	doc/api/search/all_2.html
#	doc/api/search/all_2.js
#	doc/api/search/all_3.html
#	doc/api/search/all_3.js
#	doc/api/search/all_4.html
#	doc/api/search/all_4.js
#	doc/api/search/all_5.html
#	doc/api/search/all_5.js
#	doc/api/search/all_6.html
#	doc/api/search/all_6.js
#	doc/api/search/all_7.html
#	doc/api/search/all_7.js
#	doc/api/search/all_8.html
#	doc/api/search/all_8.js
#	doc/api/search/all_9.html
#	doc/api/search/all_9.js
#	doc/api/search/all_a.html
#	doc/api/search/all_a.js
#	doc/api/search/all_b.html
#	doc/api/search/all_b.js
#	doc/api/search/all_c.html
#	doc/api/search/all_c.js
#	doc/api/search/all_d.html
#	doc/api/search/all_d.js
#	doc/api/search/all_e.html
#	doc/api/search/all_e.js
#	doc/api/search/all_f.html
#	doc/api/search/all_f.js
#	doc/api/search/files_0.html
#	doc/api/search/files_0.js
#	doc/api/search/files_1.html
#	doc/api/search/files_1.js
#	doc/api/search/files_10.html
#	doc/api/search/files_10.js
#	doc/api/search/files_11.html
#	doc/api/search/files_11.js
#	doc/api/search/files_12.html
#	doc/api/search/files_12.js
#	doc/api/search/files_13.html
#	doc/api/search/files_13.js
#	doc/api/search/files_14.html
#	doc/api/search/files_14.js
#	doc/api/search/files_2.html
#	doc/api/search/files_2.js
#	doc/api/search/files_3.html
#	doc/api/search/files_3.js
#	doc/api/search/files_4.html
#	doc/api/search/files_4.js
#	doc/api/search/files_5.html
#	doc/api/search/files_5.js
#	doc/api/search/files_6.html
#	doc/api/search/files_6.js
#	doc/api/search/files_7.html
#	doc/api/search/files_7.js
#	doc/api/search/files_8.html
#	doc/api/search/files_8.js
#	doc/api/search/files_9.html
#	doc/api/search/files_9.js
#	doc/api/search/files_a.html
#	doc/api/search/files_a.js
#	doc/api/search/files_b.html
#	doc/api/search/files_b.js
#	doc/api/search/files_c.html
#	doc/api/search/files_c.js
#	doc/api/search/files_d.html
#	doc/api/search/files_d.js
#	doc/api/search/files_e.html
#	doc/api/search/files_e.js
#	doc/api/search/files_f.html
#	doc/api/search/files_f.js
#	doc/api/search/functions_0.html
#	doc/api/search/functions_0.js
#	doc/api/search/functions_1.html
#	doc/api/search/functions_1.js
#	doc/api/search/functions_10.html
#	doc/api/search/functions_10.js
#	doc/api/search/functions_11.html
#	doc/api/search/functions_11.js
#	doc/api/search/functions_12.html
#	doc/api/search/functions_12.js
#	doc/api/search/functions_13.html
#	doc/api/search/functions_13.js
#	doc/api/search/functions_14.html
#	doc/api/search/functions_14.js
#	doc/api/search/functions_15.html
#	doc/api/search/functions_15.js
#	doc/api/search/functions_16.html
#	doc/api/search/functions_16.js
#	doc/api/search/functions_2.html
#	doc/api/search/functions_2.js
#	doc/api/search/functions_3.html
#	doc/api/search/functions_3.js
#	doc/api/search/functions_4.html
#	doc/api/search/functions_4.js
#	doc/api/search/functions_5.html
#	doc/api/search/functions_5.js
#	doc/api/search/functions_6.html
#	doc/api/search/functions_6.js
#	doc/api/search/functions_7.html
#	doc/api/search/functions_7.js
#	doc/api/search/functions_8.html
#	doc/api/search/functions_8.js
#	doc/api/search/functions_9.html
#	doc/api/search/functions_9.js
#	doc/api/search/functions_a.html
#	doc/api/search/functions_a.js
#	doc/api/search/functions_b.html
#	doc/api/search/functions_b.js
#	doc/api/search/functions_c.html
#	doc/api/search/functions_c.js
#	doc/api/search/functions_d.html
#	doc/api/search/functions_d.js
#	doc/api/search/functions_e.html
#	doc/api/search/functions_e.js
#	doc/api/search/functions_f.html
#	doc/api/search/functions_f.js
#	doc/api/search/groups_0.html
#	doc/api/search/groups_0.js
#	doc/api/search/groups_1.html
#	doc/api/search/groups_1.js
#	doc/api/search/groups_2.html
#	doc/api/search/groups_2.js
#	doc/api/search/groups_3.html
#	doc/api/search/groups_3.js
#	doc/api/search/groups_4.html
#	doc/api/search/groups_4.js
#	doc/api/search/groups_5.html
#	doc/api/search/groups_5.js
#	doc/api/search/groups_6.html
#	doc/api/search/groups_6.js
#	doc/api/search/groups_7.html
#	doc/api/search/groups_7.js
#	doc/api/search/groups_8.html
#	doc/api/search/groups_8.js
#	doc/api/search/groups_9.html
#	doc/api/search/groups_9.js
#	doc/api/search/mag_sel.png
#	doc/api/search/nomatches.html
#	doc/api/search/pages_0.html
#	doc/api/search/pages_0.js
#	doc/api/search/search.css
#	doc/api/search/search.js
#	doc/api/search/search_l.png
#	doc/api/search/search_r.png
#	doc/api/search/typedefs_0.html
#	doc/api/search/typedefs_0.js
#	doc/api/search/typedefs_1.html
#	doc/api/search/typedefs_1.js
#	doc/api/search/typedefs_2.html
#	doc/api/search/typedefs_2.js
#	doc/api/search/typedefs_3.html
#	doc/api/search/typedefs_3.js
#	doc/api/search/typedefs_4.html
#	doc/api/search/typedefs_4.js
#	doc/api/search/typedefs_5.html
#	doc/api/search/typedefs_5.js
#	doc/api/search/typedefs_6.html
#	doc/api/search/typedefs_6.js
#	doc/api/search/typedefs_7.html
#	doc/api/search/typedefs_7.js
#	doc/api/search/typedefs_8.html
#	doc/api/search/typedefs_8.js
#	doc/api/search/typedefs_9.html
#	doc/api/search/typedefs_9.js
#	doc/api/search/typedefs_a.html
#	doc/api/search/typedefs_a.js
#	doc/api/search/typedefs_b.html
#	doc/api/search/typedefs_b.js
#	doc/api/search/typedefs_c.html
#	doc/api/search/typedefs_c.js
#	doc/api/search/typedefs_d.html
#	doc/api/search/typedefs_d.js
#	doc/api/splitbar.png
#	doc/api/sync_off.png
#	doc/api/sync_on.png
#	doc/api/tab_a.png
#	doc/api/tab_b.png
#	doc/api/tab_h.png
#	doc/api/tab_s.png
#	doc/api/tabs.css
#	doc/man.doxy
#	doc/manual/logo-mini.png
#	glm/CMakeLists.txt
#	glm/common.hpp
#	glm/detail/_swizzle.hpp
#	glm/detail/_swizzle_func.hpp
#	glm/detail/_vectorize.hpp
#	glm/detail/compute_common.hpp
#	glm/detail/func_common.inl
#	glm/detail/func_common_simd.inl
#	glm/detail/func_exponential.inl
#	glm/detail/func_geometric.inl
#	glm/detail/func_geometric_simd.inl
#	glm/detail/func_integer.inl
#	glm/detail/func_integer_simd.inl
#	glm/detail/func_matrix.inl
#	glm/detail/func_matrix_simd.inl
#	glm/detail/func_trigonometric.inl
#	glm/detail/qualifier.hpp
#	glm/detail/setup.hpp
#	glm/detail/type_mat2x2.hpp
#	glm/detail/type_mat2x2.inl
#	glm/detail/type_mat2x3.hpp
#	glm/detail/type_mat2x3.inl
#	glm/detail/type_mat2x4.hpp
#	glm/detail/type_mat2x4.inl
#	glm/detail/type_mat3x2.hpp
#	glm/detail/type_mat3x2.inl
#	glm/detail/type_mat3x3.hpp
#	glm/detail/type_mat3x3.inl
#	glm/detail/type_mat3x4.hpp
#	glm/detail/type_mat3x4.inl
#	glm/detail/type_mat4x2.hpp
#	glm/detail/type_mat4x2.inl
#	glm/detail/type_mat4x3.hpp
#	glm/detail/type_mat4x3.inl
#	glm/detail/type_mat4x4.hpp
#	glm/detail/type_mat4x4.inl
#	glm/detail/type_quat.hpp
#	glm/detail/type_quat.inl
#	glm/detail/type_quat_simd.inl
#	glm/detail/type_vec2.hpp
#	glm/detail/type_vec2.inl
#	glm/detail/type_vec3.hpp
#	glm/detail/type_vec3.inl
#	glm/detail/type_vec4.hpp
#	glm/detail/type_vec4.inl
#	glm/ext.hpp
#	glm/ext/matrix_clip_space.inl
#	glm/ext/matrix_transform.hpp
#	glm/ext/matrix_transform.inl
#	glm/ext/quaternion_common.hpp
#	glm/ext/quaternion_common.inl
#	glm/ext/quaternion_geometric.hpp
#	glm/ext/quaternion_geometric.inl
#	glm/ext/quaternion_trigonometric.hpp
#	glm/ext/scalar_common.inl
#	glm/ext/scalar_constants.inl
#	glm/ext/scalar_integer.inl
#	glm/ext/scalar_reciprocal.inl
#	glm/ext/scalar_ulp.inl
#	glm/ext/vector_reciprocal.inl
#	glm/ext/vector_relational.inl
#	glm/ext/vector_ulp.inl
#	glm/gtc/bitfield.inl
#	glm/gtc/constants.hpp
#	glm/gtc/constants.inl
#	glm/gtc/noise.inl
#	glm/gtc/packing.inl
#	glm/gtc/quaternion.hpp
#	glm/gtc/quaternion.inl
#	glm/gtc/random.inl
#	glm/gtc/ulp.inl
#	glm/gtx/associated_min_max.hpp
#	glm/gtx/bit.hpp
#	glm/gtx/closest_point.hpp
#	glm/gtx/color_encoding.hpp
#	glm/gtx/color_space.hpp
#	glm/gtx/color_space.inl
#	glm/gtx/color_space_YCoCg.hpp
#	glm/gtx/common.hpp
#	glm/gtx/common.inl
#	glm/gtx/compatibility.hpp
#	glm/gtx/component_wise.hpp
#	glm/gtx/component_wise.inl
#	glm/gtx/dual_quaternion.hpp
#	glm/gtx/easing.hpp
#	glm/gtx/euler_angles.hpp
#	glm/gtx/extend.hpp
#	glm/gtx/extended_min_max.hpp
#	glm/gtx/exterior_product.hpp
#	glm/gtx/exterior_product.inl
#	glm/gtx/fast_exponential.hpp
#	glm/gtx/fast_square_root.hpp
#	glm/gtx/fast_square_root.inl
#	glm/gtx/fast_trigonometry.hpp
#	glm/gtx/functions.hpp
#	glm/gtx/gradient_paint.hpp
#	glm/gtx/handed_coordinate_space.hpp
#	glm/gtx/hash.hpp
#	glm/gtx/hash.inl
#	glm/gtx/integer.hpp
#	glm/gtx/intersect.hpp
#	glm/gtx/intersect.inl
#	glm/gtx/io.hpp
#	glm/gtx/io.inl
#	glm/gtx/log_base.hpp
#	glm/gtx/matrix_cross_product.hpp
#	glm/gtx/matrix_decompose.hpp
#	glm/gtx/matrix_decompose.inl
#	glm/gtx/matrix_factorisation.hpp
#	glm/gtx/matrix_interpolation.hpp
#	glm/gtx/matrix_major_storage.hpp
#	glm/gtx/matrix_operation.hpp
#	glm/gtx/matrix_query.hpp
#	glm/gtx/matrix_transform_2d.hpp
#	glm/gtx/mixed_product.hpp
#	glm/gtx/norm.hpp
#	glm/gtx/norm.inl
#	glm/gtx/normal.hpp
#	glm/gtx/normalize_dot.hpp
#	glm/gtx/number_precision.hpp
#	glm/gtx/number_precision.inl
#	glm/gtx/optimum_pow.hpp
#	glm/gtx/orthonormalize.hpp
#	glm/gtx/pca.hpp
#	glm/gtx/perpendicular.hpp
#	glm/gtx/polar_coordinates.hpp
#	glm/gtx/projection.hpp
#	glm/gtx/quaternion.hpp
#	glm/gtx/quaternion.inl
#	glm/gtx/range.hpp
#	glm/gtx/raw_data.hpp
#	glm/gtx/rotate_normalized_axis.hpp
#	glm/gtx/rotate_vector.hpp
#	glm/gtx/scalar_multiplication.hpp
#	glm/gtx/scalar_relational.hpp
#	glm/gtx/spline.hpp
#	glm/gtx/std_based_type.hpp
#	glm/gtx/string_cast.hpp
#	glm/gtx/string_cast.inl
#	glm/gtx/texture.hpp
#	glm/gtx/transform.hpp
#	glm/gtx/transform2.hpp
#	glm/gtx/type_aligned.hpp
#	glm/gtx/type_trait.hpp
#	glm/gtx/vec_swizzle.hpp
#	glm/gtx/vector_angle.hpp
#	glm/gtx/vector_angle.inl
#	glm/gtx/vector_query.hpp
#	glm/gtx/wrap.hpp
#	glm/simd/common.h
#	glm/simd/matrix.h
#	glm/simd/neon.h
#	glm/simd/platform.h
#	manual.md
#	readme.md
#	test/CMakeLists.txt
#	test/bug/bug_ms_vec_static.cpp
#	test/core/CMakeLists.txt
#	test/core/core_force_compiler_unknown.cpp
#	test/core/core_force_pure.cpp
#	test/core/core_force_xyzw_only.cpp
#	test/core/core_func_common.cpp
#	test/core/core_func_geometric.cpp
#	test/core/core_func_integer.cpp
#	test/core/core_func_integer_bit_count.cpp
#	test/core/core_func_integer_find_lsb.cpp
#	test/core/core_func_integer_find_msb.cpp
#	test/core/core_func_matrix.cpp
#	test/core/core_func_swizzle.cpp
#	test/core/core_setup_force_cxx98.cpp
#	test/core/core_setup_message.cpp
#	test/core/core_setup_platform_unknown.cpp
#	test/core/core_type_aligned.cpp
#	test/core/core_type_cast.cpp
#	test/core/core_type_mat2x2.cpp
#	test/core/core_type_mat2x3.cpp
#	test/core/core_type_mat2x4.cpp
#	test/core/core_type_mat3x2.cpp
#	test/core/core_type_mat3x3.cpp
#	test/core/core_type_mat3x4.cpp
#	test/core/core_type_mat4x2.cpp
#	test/core/core_type_mat4x3.cpp
#	test/core/core_type_mat4x4.cpp
#	test/core/core_type_vec1.cpp
#	test/core/core_type_vec2.cpp
#	test/core/core_type_vec3.cpp
#	test/core/core_type_vec4.cpp
#	test/ext/ext_matrix_common.cpp
#	test/ext/ext_matrix_integer.cpp
#	test/ext/ext_quaternion_exponential.cpp
#	test/ext/ext_quaternion_type.cpp
#	test/ext/ext_scalar_common.cpp
#	test/ext/ext_scalar_integer.cpp
#	test/ext/ext_vec1.cpp
#	test/ext/ext_vector_common.cpp
#	test/ext/ext_vector_integer.cpp
#	test/ext/ext_vector_integer_sized.cpp
#	test/gtc/gtc_bitfield.cpp
#	test/gtc/gtc_color_space.cpp
#	test/gtc/gtc_constants.cpp
#	test/gtc/gtc_epsilon.cpp
#	test/gtc/gtc_integer.cpp
#	test/gtc/gtc_matrix_inverse.cpp
#	test/gtc/gtc_matrix_transform.cpp
#	test/gtc/gtc_packing.cpp
#	test/gtc/gtc_quaternion.cpp
#	test/gtc/gtc_random.cpp
#	test/gtc/gtc_round.cpp
#	test/gtc/gtc_type_aligned.cpp
#	test/gtc/gtc_type_precision.cpp
#	test/gtc/gtc_type_ptr.cpp
#	test/gtc/gtc_ulp.cpp
#	test/gtx/CMakeLists.txt
#	test/gtx/gtx_color_encoding.cpp
#	test/gtx/gtx_color_space.cpp
#	test/gtx/gtx_color_space_YCoCg.cpp
#	test/gtx/gtx_common.cpp
#	test/gtx/gtx_component_wise.cpp
#	test/gtx/gtx_dual_quaternion.cpp
#	test/gtx/gtx_easing.cpp
#	test/gtx/gtx_euler_angle.cpp
#	test/gtx/gtx_extended_min_max.cpp
#	test/gtx/gtx_exterior_product.cpp
#	test/gtx/gtx_fast_square_root.cpp
#	test/gtx/gtx_fast_trigonometry.cpp
#	test/gtx/gtx_functions.cpp
#	test/gtx/gtx_hash.cpp
#	test/gtx/gtx_integer.cpp
#	test/gtx/gtx_intersect.cpp
#	test/gtx/gtx_io.cpp
#	test/gtx/gtx_load.cpp
#	test/gtx/gtx_log_base.cpp
#	test/gtx/gtx_matrix_decompose.cpp
#	test/gtx/gtx_matrix_factorisation.cpp
#	test/gtx/gtx_matrix_interpolation.cpp
#	test/gtx/gtx_matrix_operation.cpp
#	test/gtx/gtx_matrix_query.cpp
#	test/gtx/gtx_norm.cpp
#	test/gtx/gtx_pca.cpp
#	test/gtx/gtx_quaternion.cpp
#	test/gtx/gtx_range.cpp
#	test/gtx/gtx_rotate_vector.cpp
#	test/gtx/gtx_scalar_multiplication.cpp
#	test/gtx/gtx_spline.cpp
#	test/gtx/gtx_string_cast.cpp
#	test/gtx/gtx_texture.cpp
#	test/gtx/gtx_type_aligned.cpp
#	test/gtx/gtx_type_trait.cpp
#	test/gtx/gtx_wrap.cpp
#	test/perf/perf_matrix_div.cpp
#	test/perf/perf_matrix_inverse.cpp
#	test/perf/perf_matrix_mul.cpp
#	test/perf/perf_matrix_mul_vector.cpp
#	test/perf/perf_matrix_transpose.cpp
#	test/perf/perf_vector_mul_matrix.cpp
2024-02-09 13:47:39 -08:00
Christophe
4eb3fe1d7d fcomp: Fix build in C++98 mode 2024-02-07 14:20:28 +01:00
Maximilian Sackel
c9ca4dc77c Implementing fcompMin / fcompMax, closes g-truc/glm#1215 2024-02-07 14:20:28 +01:00
Christophe
31a5f56a7c Fix epsilon not declared in color_space.inl #1233 2024-02-06 20:37:11 +01:00
Christophe
f86092a658
Remove disabled warnings (#1213)
* Remove disabled warnings
2024-01-20 10:11:13 +01:00
Christophe
b6618171dd
Fix GLM_GTX_hash (#1202)
* Fix GLM_GTX_hash, requires C++ 11
2023-12-29 12:50:27 +01:00
Christophe
0d52d5ddab Fix master build 2023-12-21 18:14:20 +01:00
Ian Cavén
3bb607e573 Merging PR#2 from @christophe-lunarg 2023-12-20 19:16:25 -08:00
Christophe
edecbf1c59 Revert "Add support for non aligned SIMD for vec4"
This reverts commit 4e01e940de36f1b0426b9f9c47ca9ce51ae0de45.
2023-12-20 22:33:20 +01:00
Christophe
2d38c41161 Fixes for tests build 2023-12-20 22:33:20 +01:00
Laurent Caumont
1b0f61e285 Add support for non aligned SIMD for vec4
It is used as default configuration for Visual Studio 64 bits compilation (needs Language Extension).
code changes:
- add new qualifiers:
  unaligned_simd_highp
  unaligned_simd_mediump
  unaligned_simd_lowp
- add use_simd and replace is_aligned
(code for ARM NEON is added but not tested)
2023-11-08 09:30:26 +01:00
Christophe
db0f79de12
Merge pull request #1137 from tetrisplusplus/fix_glm_gtx_matrix_query_isOrthogonal
fix: isOrthogonal for a zero matrix #1137
2023-08-18 15:04:55 +02:00
Christophe
99fe1c8f7d
Merge pull request #1142 from thp/recompose
gtx_matrix_decompose: Add glm::recompose() #1142
2023-08-18 14:55:41 +02:00
Mark Sheppard
3cb568cd37 Fix Clang 15 test build errors
Fixes for compiler errors when building the tests using Clang 15,
including:

    * Use explicit cast to silence Wimplicit-int-float-conversion
      warning for conversion of spin count in implementation of
      glm::slerp.
    * Use GLM_FORCE_MESSAGES instead of removed GLM_MESSAGES for
      messages in glm/gtx/hash.hpp, avoiding Wundef warning.
    * Encode en dash in URL for Gram-Schmit Process wikipedia page and
      replace similar en dashes in comments with regular dashes, to
      avoid Winvalid-utf8 warnings in glm/gtx/matrix_factorisation.inl.
    * Replace degree sign symbol with text "degrees" to avoid
      Winvalid-utf8 warnings in test/gtc/gtc_quaternion.cpp.
    * When using Clang, build tests with -Wno-float-equal to silence
      Wfloat-equal warning in implementation of glm::vec<L,T,Q>::equal.
    * For performance tests in test/gtx/gtx_fast_trigonometry.cpp, add
      statement explicitly casting result to void, to silence
      Wunused-but-set-variable warnings.
    * Add newline at end of test/gtx/gtx_hash.cpp to silence
      Wnewline-eof warning.
    * Rename namespace _1aga to agarose in test/gtx/gtx_pca.cpp to
      avoid Wreserved-identifier warning.
2023-03-31 17:39:53 +01:00
Thomas Perl
4afe953bff gtx_matrix_decompose: Add glm::recompose() 2023-02-26 18:33:47 +01:00
tetrisplusplus
2af53d5981 Added test_isOrthogonal for zero matrix 2023-01-23 21:05:35 +09:00
Charles Huber
4b6284e39d GCC: Fix noexcept warnings on hash functions
Fix warnings on hash functions with GCC and -Wnoexcept:
* Add GLM_HAS_NOEXCEPT flag & GLM_NOEXCEPT #define to setup.hpp.
* Add GLM_NOEXCEPT to hash functions in hash.hpp.
* Add GLM_NOEXCEPT to matrix operator[] accessors.
* Add gtx_hash.cpp and a test to verify all hash overloads compile.
  Configure with -DCMAKE_CXX_FLAGS="-Werror -Wnoexcept" to test.
2022-08-24 15:21:11 -05:00
SGrottel
104c1214ee Avoid fp comparison of glm::sign return value by introducing a sign comparison helper function 2021-06-05 16:43:47 +02:00
SGrottel
5dbba35275 Changed test functions to explicitly define comparison epsilons.
Updated 1aga expected computation results, based on external experiment based on precise / symbolic computation
Unified result comparison to always use `vectorEpsilonEqual` or `matrixEpsilonEqual`
2021-06-05 16:30:40 +02:00
SGrottel
d71dba9603 Introduced a second, less precise comparison epsilon for the tests for now. 2021-05-11 07:44:40 +02:00
SGrottel
18d9b97aa4 Further increased comparison float epsilon, and further test batch testEigenvectors also failes.
Added debug output to `testEigenvectors` in case the error persists.
2021-05-10 23:36:17 +02:00
SGrottel
593b7cc36b Increased float comparison epsilon to pass tests. 2021-05-10 22:49:57 +02:00
SGrottel
a0ccbcc63d Added further details on the comparison issue with covariance matrices on some VMs.
Also corrected some code style guide, and changed `nullptr` to `GLM_NULLPTR` for better compatibility.
Tests are now executed in blocks of related tests, and only inbetween blocks the tests will exit.
2021-05-10 21:32:01 +02:00
SGrottel
d0d7945141 Additional debug output to investigate why test-gtx_pca fails on some VMs on Travis.
Also, reworked the `#if` about CXX11; did not seem to work correctly.
2021-05-10 19:35:57 +02:00
SGrottel
c792a0a221 Disabled tests requiring random engine when CXX11 STL is not available.
Added missed `typename` keywords, and fixed variable initialization.
2021-05-10 17:48:35 +02:00
SGrottel
0f5b544d5d Corrected errors on Xcode C++98 pure related to language extensions accidentially used. 2021-05-10 16:38:38 +02:00
SGrottel
b8adc27808 Removed lambdas and initializer list ctors to be compatible with older cpp standards. 2021-05-10 15:45:42 +02:00
SGrottel
dd40903b74 Implemented 'principle component analysis' utility in gtx, including tests 2021-05-10 13:14:29 +02:00
Sergey Krivohatskiy
b5d4757580 compilation fix
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 15:22:16 +03:00
Sergey Krivohatskiy
e81a9c4baa compilation fixes
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 15:03:38 +03:00
Sergey Krivohatskiy
2010c883d5 formatting fix
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:33:11 +03:00
Sergey Krivohatskiy
2b766d5303 a few more tests for axisAngle
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:30:52 +03:00
Sergey Krivohatskiy
57c3be0b9f Added axisAngle tests
Signed-off-by: Sergey Krivohatskiy <s.krivohatskiy@gmail.com>
2021-03-23 14:24:41 +03:00
nowakowsk
eabaf2338b Fixed unit tests for pre-C++11 compilers 2021-02-14 13:03:57 +01:00
nowakowsk
6437133cd2 fix: add missing transposition to adjugate for mat2 and mat4 2021-02-14 12:14:59 +01:00
Christophe Riccio
a4bf8867c2 Added clamp, repeat, mirrorClamp and mirrorRepeat function to GLM_EXT_scalar_commond and GLM_EXT_vector_commond extensions with tests 2020-02-11 12:53:12 +01:00
Christophe Riccio
436579b37e Fixed Wimplicit-int-float-conversion warnings with clang 10+ #986 2020-01-05 15:13:20 +01:00
Khem Raj
d2b9bbb911 Fix Wimplicit-int-float-conversion warnings with clang 10+
This is a new warning in clang which will be available in clang 10
onwards

Fixes
error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]
2019-12-27 18:44:52 -08:00
Stefan Maass
e7d51a3838 bugfix intersection ray/plane, added related tests 2019-09-14 23:38:44 +02:00
Sebastian Buchwald
7b06a984af Let test return the number of errors 2019-09-11 19:12:39 +02:00
Christophe Riccio
61b2a73e21 Fixed missing std:: namespace #898 2019-09-07 13:41:08 +02:00
Liam
2c3bdccb01
Merge branch 'master' into lMaxNorm-proposal 2019-08-25 09:03:13 +01:00
Liam Adams
a78024d2bf Add testing of lMaxNorm. 2019-07-20 08:02:09 +01:00
Liam Adams
8f7d378116 Add testing of lxNorm. 2019-07-20 07:36:02 +01:00
Christophe
947527d3ac Fixed string_cast, broken after fixing #916 2019-07-12 23:11:27 +02:00
Christophe
3a65b7a628 Completed EXT_*_integer extensions 2019-07-12 18:46:08 +02:00
Khem Raj
1150952697 glm: Remove redundant double semi-colons
Make clang happy
/glm/gtc/../ext/../detail/../simd/common.h:106:45: error: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Werror,-Wextra-semi-stmt]
|         glm_vec4 const or0 = _mm_or_ps(and0, and1);;
|                                                    ^
| 1 error generated.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-01 11:13:28 -08:00
Christophe Riccio
81d626daf6 Added test for #764 2018-09-27 21:22:07 +02:00
Groove
72bf05e06e Clean up detection 2018-08-18 13:58:30 +02:00
Christophe Riccio
c4ed4ed0c7 Added EXT_scalar_common, EXT_vector_common and EXT_quaternion_exponential extensions 2018-08-15 18:54:04 +02:00