Merge remote-tracking branch 'upstream/master'
@ -6,7 +6,7 @@ GLM is licensed under The Happy Bunny License or MIT License
|
|||||||
================================================================================
|
================================================================================
|
||||||
The Happy Bunny License (Modified 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
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@ -33,7 +33,7 @@ THE SOFTWARE.
|
|||||||
================================================================================
|
================================================================================
|
||||||
The MIT License
|
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
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
BIN
doc/api/bc_s.png
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 600 B |
BIN
doc/api/bdwn.png
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 200 B |
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 194 B |
BIN
doc/api/doc.png
Before Width: | Height: | Size: 746 B After Width: | Height: | Size: 624 B |
@ -4,13 +4,27 @@ body, table, div, p, dl {
|
|||||||
font: 400 14px/22px Roboto,sans-serif;
|
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 */
|
/* @group Heading Levels */
|
||||||
|
|
||||||
h1.groupheader {
|
h1.groupheader {
|
||||||
|
color:#bf6000;
|
||||||
font-size: 150%;
|
font-size: 150%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
|
color:#bf6000;
|
||||||
font: 400 14px/28px Roboto,sans-serif;
|
font: 400 14px/28px Roboto,sans-serif;
|
||||||
font-size: 150%;
|
font-size: 150%;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -18,8 +32,8 @@ h1.groupheader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
h2.groupheader {
|
h2.groupheader {
|
||||||
border-bottom: 1px solid #879ECB;
|
border-bottom: 1px solid #bf6000;
|
||||||
color: #354C7B;
|
color:#bf6000;
|
||||||
font-size: 150%;
|
font-size: 150%;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
margin-top: 1.75em;
|
margin-top: 1.75em;
|
||||||
@ -93,8 +107,8 @@ h3.version {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.qindex, div.navtab{
|
div.qindex, div.navtab{
|
||||||
background-color: #EBEFF6;
|
background-color: #FFF8F0;
|
||||||
border: 1px solid #A3B4D7;
|
border: 1px solid #FF8000;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,13 +124,27 @@ div.navtab {
|
|||||||
/* @group Link Styling */
|
/* @group Link Styling */
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: #3D578C;
|
color: #000000;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contents a:visited {
|
.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 {
|
a:hover {
|
||||||
@ -160,8 +188,8 @@ dl.el {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pre.fragment {
|
pre.fragment {
|
||||||
border: 1px solid #C4CFE5;
|
border: 1px solid #FF8000;
|
||||||
background-color: #FBFCFD;
|
background-color: #FFF8F0;
|
||||||
padding: 4px 6px;
|
padding: 4px 6px;
|
||||||
margin: 4px 8px 4px 2px;
|
margin: 4px 8px 4px 2px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
@ -175,8 +203,8 @@ pre.fragment {
|
|||||||
div.fragment {
|
div.fragment {
|
||||||
padding: 4px 6px;
|
padding: 4px 6px;
|
||||||
margin: 4px 8px 4px 2px;
|
margin: 4px 8px 4px 2px;
|
||||||
background-color: #FBFCFD;
|
background-color: #FFF8F0;
|
||||||
border: 1px solid #C4CFE5;
|
border: 1px solid #FF8000;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.line {
|
div.line {
|
||||||
@ -266,19 +294,12 @@ div.groupText {
|
|||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: white;
|
|
||||||
color: black;
|
color: black;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.contents {
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-left: 12px;
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.indexkey {
|
td.indexkey {
|
||||||
background-color: #EBEFF6;
|
background-color: #FFF8F0;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border: 1px solid #C4CFE5;
|
border: 1px solid #C4CFE5;
|
||||||
margin: 2px 0px 2px 0;
|
margin: 2px 0px 2px 0;
|
||||||
@ -288,14 +309,14 @@ td.indexkey {
|
|||||||
}
|
}
|
||||||
|
|
||||||
td.indexvalue {
|
td.indexvalue {
|
||||||
background-color: #EBEFF6;
|
background-color: #FFF8F0;
|
||||||
border: 1px solid #C4CFE5;
|
border: 1px solid #C4CFE5;
|
||||||
padding: 2px 10px;
|
padding: 2px 10px;
|
||||||
margin: 2px 0px;
|
margin: 2px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
tr.memlist {
|
tr.memlist {
|
||||||
background-color: #EEF1F7;
|
background-color: #FFF8F0;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.formulaDsp {
|
p.formulaDsp {
|
||||||
@ -322,8 +343,7 @@ div.center img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
address.footer {
|
address.footer {
|
||||||
text-align: right;
|
display: none;
|
||||||
padding-right: 12px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
img.footer {
|
img.footer {
|
||||||
@ -412,7 +432,7 @@ td.tiny {
|
|||||||
.dirtab {
|
.dirtab {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
border: 1px solid #A3B4D7;
|
border: 1px solid #FF8000;
|
||||||
}
|
}
|
||||||
|
|
||||||
th.dirtab {
|
th.dirtab {
|
||||||
@ -427,7 +447,7 @@ hr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hr.footer {
|
hr.footer {
|
||||||
height: 1px;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @group Member Descriptions */
|
/* @group Member Descriptions */
|
||||||
@ -458,7 +478,7 @@ table.memberdecls {
|
|||||||
.mdescLeft, .mdescRight,
|
.mdescLeft, .mdescRight,
|
||||||
.memItemLeft, .memItemRight,
|
.memItemLeft, .memItemRight,
|
||||||
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
||||||
background-color: #F9FAFC;
|
background-color: #FFFCF8;
|
||||||
border: none;
|
border: none;
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
padding: 1px 0 0 8px;
|
padding: 1px 0 0 8px;
|
||||||
@ -470,7 +490,7 @@ table.memberdecls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.memSeparator {
|
.memSeparator {
|
||||||
border-bottom: 1px solid #DEE4F0;
|
border-bottom: 1px solid #FFF8F0;
|
||||||
line-height: 1px;
|
line-height: 1px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
@ -485,7 +505,7 @@ table.memberdecls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.memTemplParams {
|
.memTemplParams {
|
||||||
color: #4665A2;
|
color: #bf6000;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
@ -504,8 +524,8 @@ table.memberdecls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.memnav {
|
.memnav {
|
||||||
background-color: #EBEFF6;
|
background-color: #FFF8F0;
|
||||||
border: 1px solid #A3B4D7;
|
border: 1px solid #FF8000;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
@ -543,16 +563,16 @@ table.memberdecls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.memproto, dl.reflist dt {
|
.memproto, dl.reflist dt {
|
||||||
border-top: 1px solid #A8B8D9;
|
border-top: 1px solid #bf6000;
|
||||||
border-left: 1px solid #A8B8D9;
|
border-left: 1px solid #bf6000;
|
||||||
border-right: 1px solid #A8B8D9;
|
border-right: 1px solid #bf6000;
|
||||||
padding: 6px 0px 6px 0px;
|
padding: 6px 0px 6px 0px;
|
||||||
color: #253555;
|
/*color: #253555;*/
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
/*text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);*/
|
||||||
background-image:url('nav_f.png');
|
/*background-image:url('nav_f.png');*/
|
||||||
background-repeat:repeat-x;
|
background-repeat:repeat-x;
|
||||||
background-color: #E2E8F2;
|
background-color: #FFF8F0;
|
||||||
/* opera specific markup */
|
/* opera specific markup */
|
||||||
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
@ -569,15 +589,14 @@ table.memberdecls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.memdoc, dl.reflist dd {
|
.memdoc, dl.reflist dd {
|
||||||
border-bottom: 1px solid #A8B8D9;
|
border-bottom: 1px solid #bf6000;
|
||||||
border-left: 1px solid #A8B8D9;
|
border-left: 1px solid #bf6000;
|
||||||
border-right: 1px solid #A8B8D9;
|
border-right: 1px solid #bf6000;
|
||||||
padding: 6px 10px 2px 10px;
|
padding: 6px 10px 2px 10px;
|
||||||
background-color: #FBFCFD;
|
|
||||||
border-top-width: 0;
|
border-top-width: 0;
|
||||||
background-image:url('nav_g.png');
|
background-image:url('nav_g.png');
|
||||||
background-repeat:repeat-x;
|
background-repeat:repeat-x;
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFDFB;
|
||||||
/* opera specific markup */
|
/* opera specific markup */
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
@ -683,8 +702,8 @@ span.mlabel {
|
|||||||
|
|
||||||
div.directory {
|
div.directory {
|
||||||
margin: 10px 0px;
|
margin: 10px 0px;
|
||||||
border-top: 1px solid #9CAFD4;
|
border-top: 1px solid #bf6000;
|
||||||
border-bottom: 1px solid #9CAFD4;
|
border-bottom: 1px solid #bf6000;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -722,7 +741,7 @@ div.directory {
|
|||||||
|
|
||||||
.directory tr.even {
|
.directory tr.even {
|
||||||
padding-left: 6px;
|
padding-left: 6px;
|
||||||
background-color: #F7F8FB;
|
background-color: #FFFDFB;
|
||||||
}
|
}
|
||||||
|
|
||||||
.directory img {
|
.directory img {
|
||||||
@ -740,11 +759,11 @@ div.directory {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
padding-right: 2px;
|
padding-right: 2px;
|
||||||
color: #3D578C;
|
color: #bf6000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.arrow {
|
.arrow {
|
||||||
color: #9CAFD4;
|
color: #bf6000;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
-khtml-user-select: none;
|
-khtml-user-select: none;
|
||||||
-moz-user-select: none;
|
-moz-user-select: none;
|
||||||
@ -764,7 +783,7 @@ div.directory {
|
|||||||
height: 14px;
|
height: 14px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-color: #728DC1;
|
background-color: #bf6000;
|
||||||
color: white;
|
color: white;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
@ -928,13 +947,14 @@ table.fieldtable {
|
|||||||
.navpath ul
|
.navpath ul
|
||||||
{
|
{
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
background-image:url('tab_b.png');
|
/*background-image:url('tab_b.png');*/
|
||||||
|
background-color: #FFF8F0;
|
||||||
background-repeat:repeat-x;
|
background-repeat:repeat-x;
|
||||||
background-position: 0 -5px;
|
background-position: 0 -5px;
|
||||||
height:30px;
|
height:30px;
|
||||||
line-height:30px;
|
line-height:30px;
|
||||||
color:#8AA0CC;
|
color:#bf6000;
|
||||||
border:solid 1px #C2CDE4;
|
border:solid 0px #C2CDE4;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
margin:0px;
|
margin:0px;
|
||||||
padding:0px;
|
padding:0px;
|
||||||
@ -949,7 +969,7 @@ table.fieldtable {
|
|||||||
background-image:url('bc_s.png');
|
background-image:url('bc_s.png');
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
background-position:right;
|
background-position:right;
|
||||||
color:#364D7C;
|
color:#bf6000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navpath li.navelem a
|
.navpath li.navelem a
|
||||||
@ -958,9 +978,8 @@ table.fieldtable {
|
|||||||
display:block;
|
display:block;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
color: #283A5D;
|
color: #bf6000;
|
||||||
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
|
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
|
||||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -978,11 +997,10 @@ table.fieldtable {
|
|||||||
background-image:none;
|
background-image:none;
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
background-position:right;
|
background-position:right;
|
||||||
color:#364D7C;
|
color:#bf6000;
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
div.summary
|
div.summary
|
||||||
{
|
{
|
||||||
float: right;
|
float: right;
|
||||||
@ -1011,11 +1029,14 @@ div.ingroups a
|
|||||||
|
|
||||||
div.header
|
div.header
|
||||||
{
|
{
|
||||||
background-image:url('nav_h.png');
|
|
||||||
background-repeat:repeat-x;
|
background-repeat:repeat-x;
|
||||||
background-color: #F9FAFC;
|
background-color: #FFFCF8;
|
||||||
margin: 0px;
|
|
||||||
border-bottom: 1px solid #C4CFE5;
|
padding:0px;
|
||||||
|
margin:0px;
|
||||||
|
margin-left:auto;
|
||||||
|
margin-right:auto;
|
||||||
|
width:1280px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.headertitle
|
div.headertitle
|
||||||
@ -1072,7 +1093,7 @@ dl.todo
|
|||||||
margin-left:-7px;
|
margin-left:-7px;
|
||||||
padding-left: 3px;
|
padding-left: 3px;
|
||||||
border-left:4px solid;
|
border-left:4px solid;
|
||||||
border-color: #00C0E0;
|
border-color: #E0C000;
|
||||||
}
|
}
|
||||||
|
|
||||||
dl.test
|
dl.test
|
||||||
@ -1118,6 +1139,7 @@ dl.section dd {
|
|||||||
font: 300% Tahoma, Arial,sans-serif;
|
font: 300% Tahoma, Arial,sans-serif;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 2px 0px;
|
padding: 2px 0px;
|
||||||
|
color: #FF8000;
|
||||||
}
|
}
|
||||||
|
|
||||||
#projectbrief
|
#projectbrief
|
||||||
@ -1433,6 +1455,26 @@ tr.heading h2 {
|
|||||||
margin-top: -11px;
|
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
|
@media print
|
||||||
{
|
{
|
||||||
#top { display: none; }
|
#top { display: none; }
|
||||||
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 616 B After Width: | Height: | Size: 573 B |
Before Width: | Height: | Size: 597 B After Width: | Height: | Size: 596 B |
Before Width: | Height: | Size: 153 B After Width: | Height: | Size: 233 B |
Before Width: | Height: | Size: 98 B After Width: | Height: | Size: 188 B |
BIN
doc/api/open.png
Before Width: | Height: | Size: 123 B After Width: | Height: | Size: 177 B |
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 853 B After Width: | Height: | Size: 717 B |
Before Width: | Height: | Size: 845 B After Width: | Height: | Size: 712 B |
Before Width: | Height: | Size: 142 B After Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 253 B |
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 255 B |
Before Width: | Height: | Size: 184 B After Width: | Height: | Size: 260 B |
@ -42,13 +42,21 @@ namespace glm
|
|||||||
# if GLM_LANG & GLM_LANG_CXXMS_FLAG
|
# if GLM_LANG & GLM_LANG_CXXMS_FLAG
|
||||||
union
|
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;
|
typename detail::storage<4, T, detail::is_aligned<Q>::value>::type data;
|
||||||
};
|
};
|
||||||
|
# else
|
||||||
|
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
|
||||||
|
T w, x, y, z;
|
||||||
# else
|
# else
|
||||||
T x, y, z, w;
|
T x, y, z, w;
|
||||||
# endif
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
# if GLM_SILENT_WARNINGS == GLM_ENABLE
|
# if GLM_SILENT_WARNINGS == GLM_ENABLE
|
||||||
# if GLM_COMPILER & GLM_COMPILER_CLANG
|
# if GLM_COMPILER & GLM_COMPILER_CLANG
|
||||||
|
@ -74,14 +74,22 @@ namespace detail
|
|||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & qua<T, Q>::operator[](typename qua<T, Q>::length_type i)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & qua<T, Q>::operator[](typename qua<T, Q>::length_type i)
|
||||||
{
|
{
|
||||||
assert(i >= 0 && i < this->length());
|
assert(i >= 0 && i < this->length());
|
||||||
|
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
|
||||||
|
return (&w)[i];
|
||||||
|
# else
|
||||||
return (&x)[i];
|
return (&x)[i];
|
||||||
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& qua<T, Q>::operator[](typename qua<T, Q>::length_type i) const
|
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());
|
assert(i >= 0 && i < this->length());
|
||||||
|
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
|
||||||
|
return (&w)[i];
|
||||||
|
# else
|
||||||
return (&x)[i];
|
return (&x)[i];
|
||||||
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Implicit basic constructors --
|
// -- Implicit basic constructors --
|
||||||
@ -90,32 +98,52 @@ namespace detail
|
|||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua()
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua()
|
||||||
# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE
|
# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE
|
||||||
|
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
|
||||||
|
: w(1), x(0), y(0), z(0)
|
||||||
|
# else
|
||||||
: x(0), y(0), z(0), w(1)
|
: x(0), y(0), z(0), w(1)
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<T, Q> const& q)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<T, Q> const& q)
|
||||||
|
# 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)
|
: x(q.x), y(q.y), z(q.z), w(q.w)
|
||||||
|
# endif
|
||||||
{}
|
{}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
template<qualifier P>
|
template<qualifier P>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<T, P> const& q)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<T, P> const& q)
|
||||||
|
# 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)
|
: x(q.x), y(q.y), z(q.z), w(q.w)
|
||||||
|
# endif
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// -- Explicit basic constructors --
|
// -- Explicit basic constructors --
|
||||||
|
|
||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(T s, vec<3, T, Q> const& v)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(T s, vec<3, T, Q> const& v)
|
||||||
|
# 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)
|
: x(v.x), y(v.y), z(v.z), w(s)
|
||||||
|
# endif
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template <typename T, qualifier Q>
|
template <typename T, qualifier Q>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(T _w, T _x, T _y, T _z)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(T _w, T _x, T _y, T _z)
|
||||||
|
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
|
||||||
|
: w(_w), x(_x), y(_y), z(_z)
|
||||||
|
# else
|
||||||
: x(_x), y(_y), z(_z), w(_w)
|
: x(_x), y(_y), z(_z), w(_w)
|
||||||
|
# endif
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// -- Conversion constructors --
|
// -- Conversion constructors --
|
||||||
@ -123,10 +151,11 @@ namespace detail
|
|||||||
template<typename T, qualifier Q>
|
template<typename T, qualifier Q>
|
||||||
template<typename U, qualifier P>
|
template<typename U, qualifier P>
|
||||||
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<U, P> const& q)
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua<T, Q>::qua(qua<U, P> const& q)
|
||||||
: x(static_cast<T>(q.x))
|
# ifdef GLM_FORCE_QUAT_DATA_WXYZ
|
||||||
, y(static_cast<T>(q.y))
|
: w(static_cast<T>(q.w)), x(static_cast<T>(q.x)), y(static_cast<T>(q.y)), z(static_cast<T>(q.z))
|
||||||
, z(static_cast<T>(q.z))
|
# else
|
||||||
, w(static_cast<T>(q.w))
|
: 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>
|
//template<typename valType>
|
||||||
|
@ -473,11 +473,11 @@ namespace glm
|
|||||||
{
|
{
|
||||||
# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO
|
# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO
|
||||||
return perspectiveFovLH_ZO(fov, width, height, zNear, zFar);
|
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);
|
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);
|
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);
|
return perspectiveFovRH_NO(fov, width, height, zNear, zFar);
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ namespace glm
|
|||||||
template<typename T> \
|
template<typename T> \
|
||||||
return_type_scalar_multiplication<T, Vec> \
|
return_type_scalar_multiplication<T, Vec> \
|
||||||
operator/(Vec lh, T const& s){ \
|
operator/(Vec lh, T const& s){ \
|
||||||
return lh *= 1.0f / s; \
|
return lh *= 1.0f / static_cast<float>(s); \
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_IMPLEMENT_SCAL_MULT(vec2)
|
GLM_IMPLEMENT_SCAL_MULT(vec2)
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
+ [2.18. GLM\_FORCE\_SIZE\_T\_LENGTH: Vector and matrix static size type](#section2_18)
|
+ [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.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.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. Stable extensions](#section3)
|
||||||
+ [3.1. Scalar types](#section3_1)
|
+ [3.1. Scalar types](#section3_1)
|
||||||
+ [3.2. Scalar functions](#section3_2)
|
+ [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.
|
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.
|
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>
|
<div style="page-break-after: always;"> </div>
|
||||||
|
|
||||||
|
@ -53,18 +53,21 @@ glm::mat4 camera(float Translate, glm::vec2 const& Rotate)
|
|||||||
|
|
||||||
## Release notes
|
## 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:
|
#### Improvements:
|
||||||
- Improved Neon support with more functions optimized #950
|
- Improved Neon support with more functions optimized #950
|
||||||
- Added CMake GLM interface #963
|
- Added CMake GLM interface #963
|
||||||
- Added fma implementation based on std::fma #969
|
- Added fma implementation based on std::fma #969
|
||||||
- Added missing quat constexpr #955
|
- 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:
|
#### Fixes:
|
||||||
- Fixed equal ULP variation when using negative sign #965
|
- Fixed equal ULP variation when using negative sign #965
|
||||||
- Fixed for intersection ray/plane and added related tests #953
|
- Fixed for intersection ray/plane and added related tests #953
|
||||||
- Fixed ARM 64bit detection #949
|
- Fixed ARM 64bit detection #949
|
||||||
- Fixed GLM_EXT_matrix_clip_space warnings #980
|
- 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
|
### [GLM 0.9.9.6](https://github.com/g-truc/glm/releases/tag/0.9.9.6) - 2019-09-08
|
||||||
#### Features:
|
#### Features:
|
||||||
|
@ -2,11 +2,18 @@ glmCreateTestGTC(core_cpp_constexpr)
|
|||||||
glmCreateTestGTC(core_cpp_defaulted_ctor)
|
glmCreateTestGTC(core_cpp_defaulted_ctor)
|
||||||
glmCreateTestGTC(core_force_aligned_gentypes)
|
glmCreateTestGTC(core_force_aligned_gentypes)
|
||||||
glmCreateTestGTC(core_force_ctor_init)
|
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_explicit_ctor)
|
||||||
glmCreateTestGTC(core_force_inline)
|
glmCreateTestGTC(core_force_inline)
|
||||||
|
glmCreateTestGTC(core_force_platform_unknown)
|
||||||
glmCreateTestGTC(core_force_pure)
|
glmCreateTestGTC(core_force_pure)
|
||||||
glmCreateTestGTC(core_force_unrestricted_gentype)
|
glmCreateTestGTC(core_force_unrestricted_gentype)
|
||||||
glmCreateTestGTC(core_force_xyzw_only)
|
glmCreateTestGTC(core_force_xyzw_only)
|
||||||
|
glmCreateTestGTC(core_force_quat_wxyz)
|
||||||
glmCreateTestGTC(core_type_aligned)
|
glmCreateTestGTC(core_type_aligned)
|
||||||
glmCreateTestGTC(core_type_cast)
|
glmCreateTestGTC(core_type_cast)
|
||||||
glmCreateTestGTC(core_type_ctor)
|
glmCreateTestGTC(core_type_ctor)
|
||||||
|
14
test/core/core_force_arch_unknown.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
14
test/core/core_force_compiler_unknown.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
14
test/core/core_force_cxx03.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
14
test/core/core_force_cxx98.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
14
test/core/core_force_cxx_unknown.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
12
test/core/core_force_depth_zero_to_one.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
12
test/core/core_force_left_handed.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
14
test/core/core_force_platform_unknown.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
13
test/core/core_force_quat_wxyz.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
12
test/core/core_force_size_t_length.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
|
@ -239,12 +239,12 @@ namespace taylorCos
|
|||||||
std::vector<glm::vec4> Results;
|
std::vector<glm::vec4> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -280,12 +280,12 @@ namespace taylorCos
|
|||||||
std::vector<glm::vec4> Results;
|
std::vector<glm::vec4> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -327,12 +327,12 @@ namespace taylorCos
|
|||||||
std::vector<glm::vec4> Results;
|
std::vector<glm::vec4> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -349,12 +349,12 @@ namespace taylorCos
|
|||||||
std::vector<glm::vec4> Results;
|
std::vector<glm::vec4> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -371,12 +371,12 @@ namespace taylorCos
|
|||||||
std::vector<glm::vec4> Results;
|
std::vector<glm::vec4> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -466,12 +466,12 @@ namespace taylor2
|
|||||||
std::vector<float> Results;
|
std::vector<float> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -488,12 +488,12 @@ namespace taylor2
|
|||||||
std::vector<float> Results;
|
std::vector<float> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
@ -510,12 +510,12 @@ namespace taylor2
|
|||||||
std::vector<float> Results;
|
std::vector<float> Results;
|
||||||
Results.resize(Samples);
|
Results.resize(Samples);
|
||||||
|
|
||||||
float Steps = (End - Begin) / Samples;
|
float const Steps = (End - Begin) / static_cast<float>(Samples);
|
||||||
|
|
||||||
std::clock_t const TimeStampBegin = std::clock();
|
std::clock_t const TimeStampBegin = std::clock();
|
||||||
|
|
||||||
for(std::size_t i = 0; i < Samples; ++i)
|
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();
|
std::clock_t const TimeStampEnd = std::clock();
|
||||||
|
|
||||||
|