Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Will Usher 2020-01-05 17:48:47 -07:00
commit d773b4453a
37 changed files with 356 additions and 128 deletions

View File

@ -6,7 +6,7 @@ GLM is licensed under The Happy Bunny License or MIT License
================================================================================
The Happy Bunny License (Modified MIT License)
--------------------------------------------------------------------------------
Copyright (c) 2005 - 2014 G-Truc Creation
Copyright (c) 2005 - G-Truc Creation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -33,7 +33,7 @@ THE SOFTWARE.
================================================================================
The MIT License
--------------------------------------------------------------------------------
Copyright (c) 2005 - 2014 G-Truc Creation
Copyright (c) 2005 - G-Truc Creation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 B

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

After

Width:  |  Height:  |  Size: 624 B

View File

@ -4,13 +4,27 @@ body, table, div, p, dl {
font: 400 14px/22px Roboto,sans-serif;
}
body
{
margin:0px;
padding:0px;
background-color:#bf6000;
background-repeat:no-repeat;
background-position:center center;
background-attachment:fixed;
min-height:1200px;
overflow:auto;
}
/* @group Heading Levels */
h1.groupheader {
color:#bf6000;
font-size: 150%;
}
.title {
color:#bf6000;
font: 400 14px/28px Roboto,sans-serif;
font-size: 150%;
font-weight: bold;
@ -18,8 +32,8 @@ h1.groupheader {
}
h2.groupheader {
border-bottom: 1px solid #879ECB;
color: #354C7B;
border-bottom: 1px solid #bf6000;
color:#bf6000;
font-size: 150%;
font-weight: normal;
margin-top: 1.75em;
@ -93,8 +107,8 @@ h3.version {
}
div.qindex, div.navtab{
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
background-color: #FFF8F0;
border: 1px solid #FF8000;
text-align: center;
}
@ -110,13 +124,27 @@ div.navtab {
/* @group Link Styling */
a {
color: #3D578C;
color: #000000;
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: #4665A2;
color: #606060;
}
.contents{
background-color: #FFFFFF;
padding-top:8px;
padding-bottom:8px;
padding-left:32px;
padding-right:32px;
margin:0px;
margin-left:auto;
margin-right:auto;
width:1216px;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}
a:hover {
@ -160,8 +188,8 @@ dl.el {
}
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
border: 1px solid #FF8000;
background-color: #FFF8F0;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
overflow: auto;
@ -173,15 +201,15 @@ pre.fragment {
}
div.fragment {
padding: 4px 6px;
margin: 4px 8px 4px 2px;
background-color: #FBFCFD;
border: 1px solid #C4CFE5;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
background-color: #FFF8F0;
border: 1px solid #FF8000;
}
div.line {
font-family: monospace, fixed;
font-size: 13px;
font-size: 13px;
min-height: 13px;
line-height: 1.0;
text-wrap: unrestricted;
@ -217,7 +245,7 @@ span.lineno {
text-align: right;
border-right: 2px solid #0F0;
background-color: #E8E8E8;
white-space: pre;
white-space: pre;
}
span.lineno a {
background-color: #D8D8D8;
@ -266,36 +294,29 @@ div.groupText {
}
body {
background-color: white;
color: black;
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 12px;
margin-right: 8px;
margin: 0;
}
td.indexkey {
background-color: #EBEFF6;
background-color: #FFF8F0;
font-weight: bold;
border: 1px solid #C4CFE5;
margin: 2px 0px 2px 0;
padding: 2px 10px;
white-space: nowrap;
vertical-align: top;
white-space: nowrap;
vertical-align: top;
}
td.indexvalue {
background-color: #EBEFF6;
background-color: #FFF8F0;
border: 1px solid #C4CFE5;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #EEF1F7;
background-color: #FFF8F0;
}
p.formulaDsp {
@ -312,9 +333,9 @@ img.formulaInl {
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
@ -322,8 +343,7 @@ div.center img {
}
address.footer {
text-align: right;
padding-right: 12px;
display: none;
}
img.footer {
@ -412,7 +432,7 @@ td.tiny {
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #A3B4D7;
border: 1px solid #FF8000;
}
th.dirtab {
@ -427,7 +447,7 @@ hr {
}
hr.footer {
height: 1px;
display: none;
}
/* @group Member Descriptions */
@ -458,7 +478,7 @@ table.memberdecls {
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
background-color: #F9FAFC;
background-color: #FFFCF8;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
@ -470,7 +490,7 @@ table.memberdecls {
}
.memSeparator {
border-bottom: 1px solid #DEE4F0;
border-bottom: 1px solid #FFF8F0;
line-height: 1px;
margin: 0px;
padding: 0px;
@ -485,7 +505,7 @@ table.memberdecls {
}
.memTemplParams {
color: #4665A2;
color: #bf6000;
white-space: nowrap;
font-size: 80%;
}
@ -504,8 +524,8 @@ table.memberdecls {
}
.memnav {
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
background-color: #FFF8F0;
border: 1px solid #FF8000;
text-align: center;
margin: 2px;
margin-right: 15px;
@ -543,16 +563,16 @@ table.memberdecls {
}
.memproto, dl.reflist dt {
border-top: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
border-top: 1px solid #bf6000;
border-left: 1px solid #bf6000;
border-right: 1px solid #bf6000;
padding: 6px 0px 6px 0px;
color: #253555;
/*color: #253555;*/
font-weight: bold;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
background-image:url('nav_f.png');
/*text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);*/
/*background-image:url('nav_f.png');*/
background-repeat:repeat-x;
background-color: #E2E8F2;
background-color: #FFF8F0;
/* opera specific markup */
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
border-top-right-radius: 4px;
@ -569,15 +589,14 @@ table.memberdecls {
}
.memdoc, dl.reflist dd {
border-bottom: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
border-bottom: 1px solid #bf6000;
border-left: 1px solid #bf6000;
border-right: 1px solid #bf6000;
padding: 6px 10px 2px 10px;
background-color: #FBFCFD;
border-top-width: 0;
background-image:url('nav_g.png');
background-repeat:repeat-x;
background-color: #FFFFFF;
background-color: #FFFDFB;
/* opera specific markup */
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
@ -660,11 +679,11 @@ span.mlabels {
}
span.mlabel {
background-color: #728DC1;
border-top:1px solid #5373B4;
border-left:1px solid #5373B4;
border-right:1px solid #C4CFE5;
border-bottom:1px solid #C4CFE5;
background-color: #728DC1;
border-top:1px solid #5373B4;
border-left:1px solid #5373B4;
border-right:1px solid #C4CFE5;
border-bottom:1px solid #C4CFE5;
text-shadow: none;
color: white;
margin-right: 4px;
@ -683,8 +702,8 @@ span.mlabel {
div.directory {
margin: 10px 0px;
border-top: 1px solid #9CAFD4;
border-bottom: 1px solid #9CAFD4;
border-top: 1px solid #bf6000;
border-bottom: 1px solid #bf6000;
width: 100%;
}
@ -693,14 +712,14 @@ div.directory {
}
.directory td {
margin: 0px;
padding: 0px;
margin: 0px;
padding: 0px;
vertical-align: top;
}
.directory td.entry {
white-space: nowrap;
padding-right: 6px;
white-space: nowrap;
padding-right: 6px;
padding-top: 3px;
}
@ -713,8 +732,8 @@ div.directory {
}
.directory td.desc {
width: 100%;
padding-left: 6px;
width: 100%;
padding-left: 6px;
padding-right: 6px;
padding-top: 3px;
border-left: 1px solid rgba(0,0,0,0.05);
@ -722,7 +741,7 @@ div.directory {
.directory tr.even {
padding-left: 6px;
background-color: #F7F8FB;
background-color: #FFFDFB;
}
.directory img {
@ -737,14 +756,14 @@ div.directory {
}
.directory .levels span {
cursor: pointer;
padding-left: 2px;
padding-right: 2px;
color: #3D578C;
cursor: pointer;
padding-left: 2px;
padding-right: 2px;
color: #bf6000;
}
.arrow {
color: #9CAFD4;
color: #bf6000;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
@ -764,7 +783,7 @@ div.directory {
height: 14px;
width: 16px;
display: inline-block;
background-color: #728DC1;
background-color: #bf6000;
color: white;
text-align: center;
border-radius: 4px;
@ -818,7 +837,7 @@ table.directory {
/* @end */
div.dynheader {
margin-top: 8px;
margin-top: 8px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@ -834,8 +853,8 @@ address {
table.doxtable {
border-collapse:collapse;
margin-top: 4px;
margin-bottom: 4px;
margin-top: 4px;
margin-bottom: 4px;
}
table.doxtable td, table.doxtable th {
@ -928,13 +947,14 @@ table.fieldtable {
.navpath ul
{
font-size: 11px;
background-image:url('tab_b.png');
/*background-image:url('tab_b.png');*/
background-color: #FFF8F0;
background-repeat:repeat-x;
background-position: 0 -5px;
height:30px;
line-height:30px;
color:#8AA0CC;
border:solid 1px #C2CDE4;
color:#bf6000;
border:solid 0px #C2CDE4;
overflow:hidden;
margin:0px;
padding:0px;
@ -949,7 +969,7 @@ table.fieldtable {
background-image:url('bc_s.png');
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
color:#bf6000;
}
.navpath li.navelem a
@ -958,9 +978,8 @@ table.fieldtable {
display:block;
text-decoration: none;
outline: none;
color: #283A5D;
color: #bf6000;
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
}
@ -978,11 +997,10 @@ table.fieldtable {
background-image:none;
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
color:#bf6000;
font-size: 8pt;
}
div.summary
{
float: right;
@ -990,7 +1008,7 @@ div.summary
padding-right: 5px;
width: 50%;
text-align: right;
}
}
div.summary a
{
@ -1011,11 +1029,14 @@ div.ingroups a
div.header
{
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F9FAFC;
margin: 0px;
border-bottom: 1px solid #C4CFE5;
background-repeat:repeat-x;
background-color: #FFFCF8;
padding:0px;
margin:0px;
margin-left:auto;
margin-right:auto;
width:1280px;
}
div.headertitle
@ -1072,7 +1093,7 @@ dl.todo
margin-left:-7px;
padding-left: 3px;
border-left:4px solid;
border-color: #00C0E0;
border-color: #E0C000;
}
dl.test
@ -1118,6 +1139,7 @@ dl.section dd {
font: 300% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 2px 0px;
color: #FF8000;
}
#projectbrief
@ -1238,9 +1260,9 @@ div.toc li.level4 {
}
.inherit_header {
font-weight: bold;
color: gray;
cursor: pointer;
font-weight: bold;
color: gray;
cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
@ -1433,6 +1455,26 @@ tr.heading h2 {
margin-top: -11px;
}
#titlearea
{
margin: 0px;
padding-top: 8px;
padding-bottom: 8px;
margin-top: 32px;
width: 100%;
border-bottom: 0px solid #FF8000;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
background-color:#FFFFFF;
}
#top
{
margin-left:auto;
margin-right:auto;
width:1280px;
}
@media print
{
#top { display: none; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 597 B

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 B

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 B

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 853 B

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 845 B

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 260 B

View File

@ -42,12 +42,20 @@ namespace glm
# if GLM_LANG & GLM_LANG_CXXMS_FLAG
union
{
struct { T x, y, z, w;};
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
struct { T w, x, y, z; };
# else
struct { T x, y, z, w; };
# endif
typename detail::storage<4, T, detail::is_aligned<Q>::value>::type data;
};
# else
T x, y, z, w;
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
T w, x, y, z;
# else
T x, y, z, w;
# endif
# endif
# if GLM_SILENT_WARNINGS == GLM_ENABLE

View File

@ -74,14 +74,22 @@ namespace detail
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & qua<T, Q>::operator[](typename qua<T, Q>::length_type i)
{
assert(i >= 0 && i < this->length());
return (&x)[i];
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
return (&w)[i];
# else
return (&x)[i];
# endif
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& qua<T, Q>::operator[](typename qua<T, Q>::length_type i) const
{
assert(i >= 0 && i < this->length());
return (&x)[i];
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
return (&w)[i];
# else
return (&x)[i];
# endif
}
// -- Implicit basic constructors --
@ -90,32 +98,52 @@ namespace detail
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua()
# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE
: x(0), y(0), z(0), w(1)
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
: w(1), x(0), y(0), z(0)
# else
: x(0), y(0), z(0), w(1)
# endif
# endif
{}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<T, Q> const& q)
: x(q.x), y(q.y), z(q.z), w(q.w)
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
: w(q.w), x(q.x), y(q.y), z(q.z)
# else
: x(q.x), y(q.y), z(q.z), w(q.w)
# endif
{}
# endif
template<typename T, qualifier Q>
template<qualifier P>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<T, P> const& q)
: x(q.x), y(q.y), z(q.z), w(q.w)
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
: w(q.w), x(q.x), y(q.y), z(q.z)
# else
: x(q.x), y(q.y), z(q.z), w(q.w)
# endif
{}
// -- Explicit basic constructors --
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(T s, vec<3, T, Q> const& v)
: x(v.x), y(v.y), z(v.z), w(s)
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
: w(s), x(v.x), y(v.y), z(v.z)
# else
: x(v.x), y(v.y), z(v.z), w(s)
# endif
{}
template <typename T, qualifier Q>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(T _w, T _x, T _y, T _z)
: x(_x), y(_y), z(_z), w(_w)
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
: w(_w), x(_x), y(_y), z(_z)
# else
: x(_x), y(_y), z(_z), w(_w)
# endif
{}
// -- Conversion constructors --
@ -123,10 +151,11 @@ namespace detail
template<typename T, qualifier Q>
template<typename U, qualifier P>
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<U, P> const& q)
: x(static_cast<T>(q.x))
, y(static_cast<T>(q.y))
, z(static_cast<T>(q.z))
, w(static_cast<T>(q.w))
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
: w(static_cast<T>(q.w)), x(static_cast<T>(q.x)), y(static_cast<T>(q.y)), z(static_cast<T>(q.z))
# else
: x(static_cast<T>(q.x)), y(static_cast<T>(q.y)), z(static_cast<T>(q.z)), w(static_cast<T>(q.w))
# endif
{}
//template<typename valType>

View File

@ -473,11 +473,11 @@ namespace glm
{
# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO
return perspectiveFovLH_ZO(fov, width, height, zNear, zFar);
elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO
# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO
return perspectiveFovLH_NO(fov, width, height, zNear, zFar);
elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO
# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO
return perspectiveFovRH_ZO(fov, width, height, zNear, zFar);
elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO
# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO
return perspectiveFovRH_NO(fov, width, height, zNear, zFar);
# endif
}

View File

@ -54,7 +54,7 @@ namespace glm
template<typename T> \
return_type_scalar_multiplication<T, Vec> \
operator/(Vec lh, T const& s){ \
return lh *= 1.0f / s; \
return lh *= 1.0f / static_cast<float>(s); \
}
GLM_IMPLEMENT_SCAL_MULT(vec2)

View File

@ -36,6 +36,7 @@
+ [2.18. GLM\_FORCE\_SIZE\_T\_LENGTH: Vector and matrix static size type](#section2_18)
+ [2.19. GLM\_FORCE\_UNRESTRICTED\_GENTYPE: Removing genType restriction](#section2_19)
+ [2.20. GLM\_FORCE\_SILENT\_WARNINGS: Silent C++ warnings from language extensions](#section2_20)
+ [2.21. GLM\_FORCE\_QUAT\_DATA\_WXYZ: Force GLM to store quat data as w,x,y,z instead of x,y,z,w](#section2_21)
+ [3. Stable extensions](#section3)
+ [3.1. Scalar types](#section3_1)
+ [3.2. Scalar functions](#section3_2)
@ -721,6 +722,11 @@ int average(int const A, int const B)
When using /W4 on Visual C++ or -Wpedantic on GCC, for example, the compilers will generate warnings for using C++ language extensions (/Za with Visual C++) such as anonymous struct.
GLM relies on anonymous structs for swizzle operators and aligned vector types. To silent those warnings define `GLM_FORCE_SILENT_WARNINGS` before including GLM headers.
### <a name="section2_21"></a> 2.21. GLM\_FORCE\_QUAT\_DATA\_WXYZ: Force GLM to store quat data as w,x,y,z instead of x,y,z,w
By default GLM store quaternion components with the x, y, z, w order. `GLM_FORCE_QUAT_DATA_WXYZ` allows switching the quaternion data storage to the w, x, y, z order.
---
<div style="page-break-after: always;"> </div>

View File

@ -53,18 +53,21 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
## Release notes
### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/latest) - 2019-XX-XX
### [GLM 0.9.9.7](https://github.com/g-truc/glm/releases/tag/0.9.9.7) - 2020-01-05
#### Improvements:
- Improved Neon support with more functions optimized #950
- Added CMake GLM interface #963
- Added fma implementation based on std::fma #969
- Added missing quat constexpr #955
- Added GLM_FORCE_QUAT_DATA_WXYZ to store quat data as w,x,y,z instead of x,y,z,w #983
#### Fixes:
- Fixed equal ULP variation when using negative sign #965
- Fixed for intersection ray/plane and added related tests #953
- Fixed ARM 64bit detection #949
- Fixed GLM_EXT_matrix_clip_space warnings #980
- Fixed Wimplicit-int-float-conversion warnings with clang 10+ #986
- Fixed EXT_matrix_clip_space perspectiveFov
### [GLM 0.9.9.6](https://github.com/g-truc/glm/releases/tag/0.9.9.6) - 2019-09-08
#### Features:

View File

@ -2,11 +2,18 @@ glmCreateTestGTC(core_cpp_constexpr)
glmCreateTestGTC(core_cpp_defaulted_ctor)
glmCreateTestGTC(core_force_aligned_gentypes)
glmCreateTestGTC(core_force_ctor_init)
glmCreateTestGTC(core_force_cxx03)
glmCreateTestGTC(core_force_cxx98)
glmCreateTestGTC(core_force_arch_unknown)
glmCreateTestGTC(core_force_compiler_unknown)
glmCreateTestGTC(core_force_cxx_unknown)
glmCreateTestGTC(core_force_explicit_ctor)
glmCreateTestGTC(core_force_inline)
glmCreateTestGTC(core_force_platform_unknown)
glmCreateTestGTC(core_force_pure)
glmCreateTestGTC(core_force_unrestricted_gentype)
glmCreateTestGTC(core_force_xyzw_only)
glmCreateTestGTC(core_force_quat_wxyz)
glmCreateTestGTC(core_type_aligned)
glmCreateTestGTC(core_type_cast)
glmCreateTestGTC(core_type_ctor)

View File

@ -0,0 +1,14 @@
#ifndef GLM_FORCE_ARCH_UNKNOWN
# define GLM_FORCE_ARCH_UNKNOWN
#endif
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,14 @@
#ifndef GLM_FORCE_COMPILER_UNKNOWN
# define GLM_FORCE_COMPILER_UNKNOWN
#endif
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,14 @@
#ifndef GLM_FORCE_CXX03
# define GLM_FORCE_CXX03
#endif
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,14 @@
#ifndef GLM_FORCE_CXX98
# define GLM_FORCE_CXX98
#endif
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,14 @@
#ifndef GLM_FORCE_CXX_UNKNOWN
# define GLM_FORCE_CXX_UNKNOWN
#endif
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,12 @@
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,12 @@
#define GLM_FORCE_LEFT_HANDED
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,14 @@
#ifndef GLM_FORCE_PLATFORM_UNKNOWN
# define GLM_FORCE_PLATFORM_UNKNOWN
#endif
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,13 @@
#define GLM_FORCE_QUAT_DATA_WXYZ
#define GLM_FORCE_INLINE
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -0,0 +1,12 @@
#define GLM_FORCE_SIZE_T_LENGTH
#include <glm/glm.hpp>
#include <glm/ext.hpp>
int main()
{
int Error = 0;
return Error;
}

View File

@ -239,12 +239,12 @@ namespace taylorCos
std::vector<glm::vec4> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * i));
Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * static_cast<float>(i)));
std::clock_t const TimeStampEnd = std::clock();
@ -280,12 +280,12 @@ namespace taylorCos
std::vector<glm::vec4> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * i));
Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * static_cast<float>(i)));
std::clock_t const TimeStampEnd = std::clock();
@ -327,12 +327,12 @@ namespace taylorCos
std::vector<glm::vec4> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * i));
Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * static_cast<float>(i)));
std::clock_t const TimeStampEnd = std::clock();
@ -349,12 +349,12 @@ namespace taylorCos
std::vector<glm::vec4> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * i));
Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * static_cast<float>(i)));
std::clock_t const TimeStampEnd = std::clock();
@ -371,12 +371,12 @@ namespace taylorCos
std::vector<glm::vec4> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * i));
Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * static_cast<float>(i)));
std::clock_t const TimeStampEnd = std::clock();
@ -466,12 +466,12 @@ namespace taylor2
std::vector<float> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = taylorCosA(AngleShift.x + Begin + Steps * i);
Results[i] = taylorCosA(AngleShift.x + Begin + Steps * static_cast<float>(i));
std::clock_t const TimeStampEnd = std::clock();
@ -488,12 +488,12 @@ namespace taylor2
std::vector<float> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = taylorCosB(AngleShift.x + Begin + Steps * i);
Results[i] = taylorCosB(AngleShift.x + Begin + Steps * static_cast<float>(i));
std::clock_t const TimeStampEnd = std::clock();
@ -510,12 +510,12 @@ namespace taylor2
std::vector<float> Results;
Results.resize(Samples);
float Steps = (End - Begin) / Samples;
float const Steps = (End - Begin) / static_cast<float>(Samples);
std::clock_t const TimeStampBegin = std::clock();
for(std::size_t i = 0; i < Samples; ++i)
Results[i] = taylorCosC(AngleShift.x + Begin + Steps * i);
Results[i] = taylorCosC(AngleShift.x + Begin + Steps * static_cast<float>(i));
std::clock_t const TimeStampEnd = std::clock();