2021-11-15 11:35:45 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=9" />
< meta name = "generator" content = "Doxygen 1.8.17" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" />
< title > Leonetienne/Eule: Eule/Vector3.cpp Source File</ title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "jquery.js" ></ script >
< script type = "text/javascript" src = "dynsections.js" ></ script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/searchdata.js" ></ script >
< script type = "text/javascript" src = "search/search.js" ></ script >
< script type = "text/x-mathjax-config" >
MathJax . Hub . Config ({
extensions : [ "tex2jax.js" ],
jax : [ "input/TeX" , "output/HTML-CSS" ],
});
</ script >
< script type = "text/javascript" async = "async" src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" ></ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > Leonetienne/Eule
</ div >
< div id = "projectbrief" > Homemade math library, mainly targetted towards computer graphics</ div >
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox ( "searchBox" , "search" , false , 'Search' );
/* @license-end */
</ script >
< script type = "text/javascript" src = "menudata.js" ></ script >
< script type = "text/javascript" src = "menu.js" ></ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */ </ script >
< div id = "main-nav" ></ div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
</ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name = "MSearchResults" id = "MSearchResults" >
</ iframe >
</ div >
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" >< a class = "el" href = "dir_29a3c7679fa29c698d8a016dea7d0b26.html" > Eule</ a ></ li > </ ul >
</ div >
</ div > <!-- top -->
< div class = "header" >
< div class = "headertitle" >
< div class = "title" > Vector3.cpp</ div > </ div >
</ div > <!--header-->
< div class = "contents" >
< a href = "Vector3_8cpp.html" > Go to the documentation of this file.</ a >< div class = "fragment" >< div class = "line" >< a name = "l00001" ></ a >< span class = "lineno" > 1</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "Vector3_8h.html" > Vector3.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00002" ></ a >< span class = "lineno" > 2</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "Math_8h.html" > Math.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00003" ></ a >< span class = "lineno" > 3</ span >   < span class = "preprocessor" > #include < iostream> </ span ></ div >
< div class = "line" >< a name = "l00004" ></ a >< span class = "lineno" > 4</ span >   </ div >
< div class = "line" >< a name = "l00005" ></ a >< span class = "lineno" > 5</ span >   < span class = "comment" > //#define _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00006" ></ a >< span class = "lineno" > 6</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00007" ></ a >< span class = "lineno" > 7</ span >   < span class = "preprocessor" > #include < immintrin.h> </ span ></ div >
< div class = "line" >< a name = "l00008" ></ a >< span class = "lineno" > 8</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00009" ></ a >< span class = "lineno" > 9</ span >   </ div >
< div class = "line" >< a name = "l00010" ></ a >< span class = "lineno" > 10</ span >   < span class = "keyword" > using namespace </ span >< a class = "code" href = "namespaceEule.html" > Eule</ a > ;</ div >
< div class = "line" >< a name = "l00011" ></ a >< span class = "lineno" > 11</ span >   </ div >
< div class = "line" >< a name = "l00012" ></ a >< span class = "lineno" > 12</ span >   < span class = "comment" > /*</ span ></ div >
< div class = "line" >< a name = "l00013" ></ a >< span class = "lineno" > 13</ span >   < span class = "comment" > NOTE:</ span ></ div >
< div class = "line" >< a name = "l00014" ></ a >< span class = "lineno" > 14</ span >   < span class = "comment" > Here you will find bad, unoptimized methods for T=int.</ span ></ div >
< div class = "line" >< a name = "l00015" ></ a >< span class = "lineno" > 15</ span >   < span class = "comment" > This is because the compiler needs a method for each type in each instantiation of the template!</ span ></ div >
< div class = "line" >< a name = "l00016" ></ a >< span class = "lineno" > 16</ span >   < span class = "comment" > I can' t generalize the methods when heavily optimizing for doubles.</ span ></ div >
< div class = "line" >< a name = "l00017" ></ a >< span class = "lineno" > 17</ span >   < span class = "comment" > These functions will get called VERY rarely, if ever at all, for T=int, so it' s ok.</ span ></ div >
< div class = "line" >< a name = "l00018" ></ a >< span class = "lineno" > 18</ span >   < span class = "comment" > The T=int instantiation only exists to store a value-pair of two ints. Not so-much as a vector in terms of vector calculus.</ span ></ div >
< div class = "line" >< a name = "l00019" ></ a >< span class = "lineno" > 19</ span >   < span class = "comment" > */</ span ></ div >
< div class = "line" >< a name = "l00020" ></ a >< span class = "lineno" > 20</ span >   </ div >
< div class = "line" >< a name = "l00021" ></ a >< span class = "lineno" > 21</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00022" ></ a >< span class = "lineno" > 22</ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector3.html#a6cbc1516e045c0334f8bf8a1dcd6ca91" > Vector3< double> ::DotProduct</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00023" ></ a >< span class = "lineno" > 23</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00024" ></ a >< span class = "lineno" > 24</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00025" ></ a >< span class = "lineno" > 25</ span >   </ div >
< div class = "line" >< a name = "l00026" ></ a >< span class = "lineno" > 26</ span >   < span class = "comment" > // Move vector components into registers</ span ></ div >
< div class = "line" >< a name = "l00027" ></ a >< span class = "lineno" > 27</ span >   __m256 __vector_self = _mm256_set_ps(0,0,0,0,0, (< span class = "keywordtype" > float</ span > )z, (< span class = "keywordtype" > float</ span > )y, (< span class = "keywordtype" > float</ span > )x);</ div >
< div class = "line" >< a name = "l00028" ></ a >< span class = "lineno" > 28</ span >   __m256 __vector_other = _mm256_set_ps(0,0,0,0,0, (< span class = "keywordtype" > float</ span > )other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , (< span class = "keywordtype" > float</ span > )other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , (< span class = "keywordtype" > float</ span > )other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00029" ></ a >< span class = "lineno" > 29</ span >   </ div >
< div class = "line" >< a name = "l00030" ></ a >< span class = "lineno" > 30</ span >   < span class = "comment" > // Define bitmask, and execute computation</ span ></ div >
< div class = "line" >< a name = "l00031" ></ a >< span class = "lineno" > 31</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > int</ span > mask = 0x71; < span class = "comment" > // -> 0111 1000 -> use positions 0111 (last 3) of the vectors supplied, and place them in 1000 (first only) element of __dot</ span ></ div >
< div class = "line" >< a name = "l00032" ></ a >< span class = "lineno" > 32</ span >   __m256 __dot = _mm256_dp_ps(__vector_self, __vector_other, mask);</ div >
< div class = "line" >< a name = "l00033" ></ a >< span class = "lineno" > 33</ span >   </ div >
< div class = "line" >< a name = "l00034" ></ a >< span class = "lineno" > 34</ span >   < span class = "comment" > // Retrieve result, and return it</ span ></ div >
< div class = "line" >< a name = "l00035" ></ a >< span class = "lineno" > 35</ span >   < span class = "keywordtype" > float</ span > result[8];</ div >
< div class = "line" >< a name = "l00036" ></ a >< span class = "lineno" > 36</ span >   _mm256_storeu_ps(result, __dot);</ div >
< div class = "line" >< a name = "l00037" ></ a >< span class = "lineno" > 37</ span >   </ div >
< div class = "line" >< a name = "l00038" ></ a >< span class = "lineno" > 38</ span >   < span class = "keywordflow" > return</ span > result[0];</ div >
< div class = "line" >< a name = "l00039" ></ a >< span class = "lineno" > 39</ span >   </ div >
< div class = "line" >< a name = "l00040" ></ a >< span class = "lineno" > 40</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00041" ></ a >< span class = "lineno" > 41</ span >   < span class = "keywordflow" > return</ span > (x * other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) +</ div >
< div class = "line" >< a name = "l00042" ></ a >< span class = "lineno" > 42</ span >   (y * other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) +</ div >
< div class = "line" >< a name = "l00043" ></ a >< span class = "lineno" > 43</ span >   (z * other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00044" ></ a >< span class = "lineno" > 44</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00045" ></ a >< span class = "lineno" > 45</ span >   }</ div >
< div class = "line" >< a name = "l00046" ></ a >< span class = "lineno" > 46</ span >   </ div >
< div class = "line" >< a name = "l00047" ></ a >< span class = "lineno" > 47</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00048" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a6cbc1516e045c0334f8bf8a1dcd6ca91" > 48</ a ></ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::DotProduct</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00049" ></ a >< span class = "lineno" > 49</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00050" ></ a >< span class = "lineno" > 50</ span >   < span class = "keywordtype" > int</ span > iDot = (x * other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (y * other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (z * other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00051" ></ a >< span class = "lineno" > 51</ span >   < span class = "keywordflow" > return</ span > (< span class = "keywordtype" > double</ span > )iDot;</ div >
< div class = "line" >< a name = "l00052" ></ a >< span class = "lineno" > 52</ span >   }</ div >
< div class = "line" >< a name = "l00053" ></ a >< span class = "lineno" > 53</ span >   </ div >
< div class = "line" >< a name = "l00054" ></ a >< span class = "lineno" > 54</ span >   </ div >
< div class = "line" >< a name = "l00055" ></ a >< span class = "lineno" > 55</ span >   </ div >
< div class = "line" >< a name = "l00056" ></ a >< span class = "lineno" > 56</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00057" ></ a >< span class = "lineno" > 57</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::CrossProduct</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00058" ></ a >< span class = "lineno" > 58</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00059" ></ a >< span class = "lineno" > 59</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > cp;</ div >
< div class = "line" >< a name = "l00060" ></ a >< span class = "lineno" > 60</ span >   cp.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = (y * other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ) - (z * other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > );</ div >
< div class = "line" >< a name = "l00061" ></ a >< span class = "lineno" > 61</ span >   cp.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = (z * other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) - (x * other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00062" ></ a >< span class = "lineno" > 62</ span >   cp.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = (x * other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) - (y * other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00063" ></ a >< span class = "lineno" > 63</ span >   </ div >
< div class = "line" >< a name = "l00064" ></ a >< span class = "lineno" > 64</ span >   < span class = "keywordflow" > return</ span > cp;</ div >
< div class = "line" >< a name = "l00065" ></ a >< span class = "lineno" > 65</ span >   }</ div >
< div class = "line" >< a name = "l00066" ></ a >< span class = "lineno" > 66</ span >   </ div >
< div class = "line" >< a name = "l00067" ></ a >< span class = "lineno" > 67</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00068" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#abd62a5f6b0f380491cf80d70ed2e5317" > 68</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::CrossProduct</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00069" ></ a >< span class = "lineno" > 69</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00070" ></ a >< span class = "lineno" > 70</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > cp;</ div >
< div class = "line" >< a name = "l00071" ></ a >< span class = "lineno" > 71</ span >   cp.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = ((double)y * (< span class = "keywordtype" > double</ span > )other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ) - ((< span class = "keywordtype" > double</ span > )z * (double)other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > );</ div >
< div class = "line" >< a name = "l00072" ></ a >< span class = "lineno" > 72</ span >   cp.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = ((double)z * (< span class = "keywordtype" > double</ span > )other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) - ((< span class = "keywordtype" > double</ span > )x * (double)other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00073" ></ a >< span class = "lineno" > 73</ span >   cp.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = ((double)x * (< span class = "keywordtype" > double</ span > )other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) - ((< span class = "keywordtype" > double</ span > )y * (double)other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00074" ></ a >< span class = "lineno" > 74</ span >   </ div >
< div class = "line" >< a name = "l00075" ></ a >< span class = "lineno" > 75</ span >   < span class = "keywordflow" > return</ span > cp;</ div >
< div class = "line" >< a name = "l00076" ></ a >< span class = "lineno" > 76</ span >   }</ div >
< div class = "line" >< a name = "l00077" ></ a >< span class = "lineno" > 77</ span >   </ div >
< div class = "line" >< a name = "l00078" ></ a >< span class = "lineno" > 78</ span >   </ div >
< div class = "line" >< a name = "l00079" ></ a >< span class = "lineno" > 79</ span >   </ div >
< div class = "line" >< a name = "l00080" ></ a >< span class = "lineno" > 80</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00081" ></ a >< span class = "lineno" > 81</ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::SqrMagnitude</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00082" ></ a >< span class = "lineno" > 82</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00083" ></ a >< span class = "lineno" > 83</ span >   < span class = "comment" > // x.DotProduct(x) == x.SqrMagnitude()</ span ></ div >
< div class = "line" >< a name = "l00084" ></ a >< span class = "lineno" > 84</ span >   < span class = "keywordflow" > return</ span > DotProduct(*< span class = "keyword" > this</ span > );</ div >
< div class = "line" >< a name = "l00085" ></ a >< span class = "lineno" > 85</ span >   }</ div >
< div class = "line" >< a name = "l00086" ></ a >< span class = "lineno" > 86</ span >   </ div >
< div class = "line" >< a name = "l00087" ></ a >< span class = "lineno" > 87</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00088" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#ad2f078dd733634a321157d23979a4162" > 88</ a ></ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::SqrMagnitude</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00089" ></ a >< span class = "lineno" > 89</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00090" ></ a >< span class = "lineno" > 90</ span >   < span class = "keywordtype" > int</ span > iSqrMag = x*x + y*y + z*z;</ div >
< div class = "line" >< a name = "l00091" ></ a >< span class = "lineno" > 91</ span >   < span class = "keywordflow" > return</ span > (< span class = "keywordtype" > double</ span > )iSqrMag;</ div >
< div class = "line" >< a name = "l00092" ></ a >< span class = "lineno" > 92</ span >   }</ div >
< div class = "line" >< a name = "l00093" ></ a >< span class = "lineno" > 93</ span >   </ div >
< div class = "line" >< a name = "l00094" ></ a >< span class = "lineno" > 94</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00095" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a96e6e436600d1420250ef2868854988d" > 95</ a ></ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::Magnitude</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00096" ></ a >< span class = "lineno" > 96</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00097" ></ a >< span class = "lineno" > 97</ span >   < span class = "keywordflow" > return</ span > sqrt(SqrMagnitude());</ div >
< div class = "line" >< a name = "l00098" ></ a >< span class = "lineno" > 98</ span >   }</ div >
< div class = "line" >< a name = "l00099" ></ a >< span class = "lineno" > 99</ span >   </ div >
< div class = "line" >< a name = "l00100" ></ a >< span class = "lineno" > 100</ span >   </ div >
< div class = "line" >< a name = "l00101" ></ a >< span class = "lineno" > 101</ span >   </ div >
< div class = "line" >< a name = "l00102" ></ a >< span class = "lineno" > 102</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::VectorScale</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & scalar)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00103" ></ a >< span class = "lineno" > 103</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00104" ></ a >< span class = "lineno" > 104</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00105" ></ a >< span class = "lineno" > 105</ span >   </ div >
< div class = "line" >< a name = "l00106" ></ a >< span class = "lineno" > 106</ span >   < span class = "comment" > // Load vectors into registers</ span ></ div >
< div class = "line" >< a name = "l00107" ></ a >< span class = "lineno" > 107</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00108" ></ a >< span class = "lineno" > 108</ span >   __m256d __vector_scalar = _mm256_set_pd(0, scalar.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , scalar.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , scalar.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00109" ></ a >< span class = "lineno" > 109</ span >   </ div >
< div class = "line" >< a name = "l00110" ></ a >< span class = "lineno" > 110</ span >   < span class = "comment" > // Multiply them</ span ></ div >
< div class = "line" >< a name = "l00111" ></ a >< span class = "lineno" > 111</ span >   __m256d __product = _mm256_mul_pd(__vector_self, __vector_scalar);</ div >
< div class = "line" >< a name = "l00112" ></ a >< span class = "lineno" > 112</ span >   </ div >
< div class = "line" >< a name = "l00113" ></ a >< span class = "lineno" > 113</ span >   < span class = "comment" > // Retrieve result</ span ></ div >
< div class = "line" >< a name = "l00114" ></ a >< span class = "lineno" > 114</ span >   < span class = "keywordtype" > double</ span > result[4];</ div >
< div class = "line" >< a name = "l00115" ></ a >< span class = "lineno" > 115</ span >   _mm256_storeu_pd(result, __product);</ div >
< div class = "line" >< a name = "l00116" ></ a >< span class = "lineno" > 116</ span >   </ div >
< div class = "line" >< a name = "l00117" ></ a >< span class = "lineno" > 117</ span >   < span class = "comment" > // Return value</ span ></ div >
< div class = "line" >< a name = "l00118" ></ a >< span class = "lineno" > 118</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00119" ></ a >< span class = "lineno" > 119</ span >   result[0],</ div >
< div class = "line" >< a name = "l00120" ></ a >< span class = "lineno" > 120</ span >   result[1],</ div >
< div class = "line" >< a name = "l00121" ></ a >< span class = "lineno" > 121</ span >   result[2]</ div >
< div class = "line" >< a name = "l00122" ></ a >< span class = "lineno" > 122</ span >   );</ div >
< div class = "line" >< a name = "l00123" ></ a >< span class = "lineno" > 123</ span >   </ div >
< div class = "line" >< a name = "l00124" ></ a >< span class = "lineno" > 124</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00125" ></ a >< span class = "lineno" > 125</ span >   </ div >
< div class = "line" >< a name = "l00126" ></ a >< span class = "lineno" > 126</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00127" ></ a >< span class = "lineno" > 127</ span >   x * scalar.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00128" ></ a >< span class = "lineno" > 128</ span >   y * scalar.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00129" ></ a >< span class = "lineno" > 129</ span >   z * scalar.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00130" ></ a >< span class = "lineno" > 130</ span >   );</ div >
< div class = "line" >< a name = "l00131" ></ a >< span class = "lineno" > 131</ span >   </ div >
< div class = "line" >< a name = "l00132" ></ a >< span class = "lineno" > 132</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00133" ></ a >< span class = "lineno" > 133</ span >   }</ div >
< div class = "line" >< a name = "l00134" ></ a >< span class = "lineno" > 134</ span >   </ div >
< div class = "line" >< a name = "l00135" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#afbfdd011a51ae697bdf0d297f2f6aa95" > 135</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::VectorScale</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > & scalar)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00136" ></ a >< span class = "lineno" > 136</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00137" ></ a >< span class = "lineno" > 137</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > (</ div >
< div class = "line" >< a name = "l00138" ></ a >< span class = "lineno" > 138</ span >   x * scalar.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00139" ></ a >< span class = "lineno" > 139</ span >   y * scalar.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00140" ></ a >< span class = "lineno" > 140</ span >   z * scalar.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00141" ></ a >< span class = "lineno" > 141</ span >   );</ div >
< div class = "line" >< a name = "l00142" ></ a >< span class = "lineno" > 142</ span >   }</ div >
< div class = "line" >< a name = "l00143" ></ a >< span class = "lineno" > 143</ span >   </ div >
< div class = "line" >< a name = "l00144" ></ a >< span class = "lineno" > 144</ span >   </ div >
< div class = "line" >< a name = "l00145" ></ a >< span class = "lineno" > 145</ span >   </ div >
< div class = "line" >< a name = "l00146" ></ a >< span class = "lineno" > 146</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00147" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a4650f19df9b05d941d0fbc29ba59d980" > 147</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::Normalize</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00148" ></ a >< span class = "lineno" > 148</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00149" ></ a >< span class = "lineno" > 149</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > norm(x, y, z);</ div >
< div class = "line" >< a name = "l00150" ></ a >< span class = "lineno" > 150</ span >   norm.< a class = "code" href = "classEule_1_1Vector3.html#a69f80925d46f3630a2242b44ddb43a56" > NormalizeSelf</ a > ();</ div >
< div class = "line" >< a name = "l00151" ></ a >< span class = "lineno" > 151</ span >   </ div >
< div class = "line" >< a name = "l00152" ></ a >< span class = "lineno" > 152</ span >   < span class = "keywordflow" > return</ span > norm;</ div >
< div class = "line" >< a name = "l00153" ></ a >< span class = "lineno" > 153</ span >   }</ div >
< div class = "line" >< a name = "l00154" ></ a >< span class = "lineno" > 154</ span >   </ div >
< div class = "line" >< a name = "l00155" ></ a >< span class = "lineno" > 155</ span >   < span class = "comment" > // Method to normalize a Vector3d</ span ></ div >
< div class = "line" >< a name = "l00156" ></ a >< span class = "lineno" > 156</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::NormalizeSelf</ a > ()</ div >
< div class = "line" >< a name = "l00157" ></ a >< span class = "lineno" > 157</ span >   {</ div >
< div class = "line" >< a name = "l00158" ></ a >< span class = "lineno" > 158</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > length = Magnitude();</ div >
< div class = "line" >< a name = "l00159" ></ a >< span class = "lineno" > 159</ span >   </ div >
< div class = "line" >< a name = "l00160" ></ a >< span class = "lineno" > 160</ span >   < span class = "comment" > // Prevent division by 0</ span ></ div >
< div class = "line" >< a name = "l00161" ></ a >< span class = "lineno" > 161</ span >   < span class = "keywordflow" > if</ span > (length == 0)</ div >
< div class = "line" >< a name = "l00162" ></ a >< span class = "lineno" > 162</ span >   {</ div >
< div class = "line" >< a name = "l00163" ></ a >< span class = "lineno" > 163</ span >   x = 0;</ div >
< div class = "line" >< a name = "l00164" ></ a >< span class = "lineno" > 164</ span >   y = 0;</ div >
< div class = "line" >< a name = "l00165" ></ a >< span class = "lineno" > 165</ span >   z = 0;</ div >
< div class = "line" >< a name = "l00166" ></ a >< span class = "lineno" > 166</ span >   }</ div >
< div class = "line" >< a name = "l00167" ></ a >< span class = "lineno" > 167</ span >   < span class = "keywordflow" > else</ span ></ div >
< div class = "line" >< a name = "l00168" ></ a >< span class = "lineno" > 168</ span >   {</ div >
< div class = "line" >< a name = "l00169" ></ a >< span class = "lineno" > 169</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00170" ></ a >< span class = "lineno" > 170</ span >   </ div >
< div class = "line" >< a name = "l00171" ></ a >< span class = "lineno" > 171</ span >   < span class = "comment" > // Load vector and length into registers</ span ></ div >
< div class = "line" >< a name = "l00172" ></ a >< span class = "lineno" > 172</ span >   __m256d __vec = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00173" ></ a >< span class = "lineno" > 173</ span >   __m256d __len = _mm256_set1_pd(length);</ div >
< div class = "line" >< a name = "l00174" ></ a >< span class = "lineno" > 174</ span >   </ div >
< div class = "line" >< a name = "l00175" ></ a >< span class = "lineno" > 175</ span >   < span class = "comment" > // Divide</ span ></ div >
< div class = "line" >< a name = "l00176" ></ a >< span class = "lineno" > 176</ span >   __m256d __prod = _mm256_div_pd(__vec, __len);</ div >
< div class = "line" >< a name = "l00177" ></ a >< span class = "lineno" > 177</ span >   </ div >
< div class = "line" >< a name = "l00178" ></ a >< span class = "lineno" > 178</ span >   < span class = "comment" > // Extract and set values</ span ></ div >
< div class = "line" >< a name = "l00179" ></ a >< span class = "lineno" > 179</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00180" ></ a >< span class = "lineno" > 180</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00181" ></ a >< span class = "lineno" > 181</ span >   </ div >
< div class = "line" >< a name = "l00182" ></ a >< span class = "lineno" > 182</ span >   x = prod[0];</ div >
< div class = "line" >< a name = "l00183" ></ a >< span class = "lineno" > 183</ span >   y = prod[1];</ div >
< div class = "line" >< a name = "l00184" ></ a >< span class = "lineno" > 184</ span >   z = prod[2];</ div >
< div class = "line" >< a name = "l00185" ></ a >< span class = "lineno" > 185</ span >   </ div >
< div class = "line" >< a name = "l00186" ></ a >< span class = "lineno" > 186</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00187" ></ a >< span class = "lineno" > 187</ span >   </ div >
< div class = "line" >< a name = "l00188" ></ a >< span class = "lineno" > 188</ span >   x /= length;</ div >
< div class = "line" >< a name = "l00189" ></ a >< span class = "lineno" > 189</ span >   y /= length;</ div >
< div class = "line" >< a name = "l00190" ></ a >< span class = "lineno" > 190</ span >   z /= length;</ div >
< div class = "line" >< a name = "l00191" ></ a >< span class = "lineno" > 191</ span >   </ div >
< div class = "line" >< a name = "l00192" ></ a >< span class = "lineno" > 192</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00193" ></ a >< span class = "lineno" > 193</ span >   }</ div >
< div class = "line" >< a name = "l00194" ></ a >< span class = "lineno" > 194</ span >   </ div >
< div class = "line" >< a name = "l00195" ></ a >< span class = "lineno" > 195</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00196" ></ a >< span class = "lineno" > 196</ span >   }</ div >
< div class = "line" >< a name = "l00197" ></ a >< span class = "lineno" > 197</ span >   </ div >
< div class = "line" >< a name = "l00198" ></ a >< span class = "lineno" > 198</ span >   < span class = "comment" > // You can' t normalize an int vector, ffs!</ span ></ div >
< div class = "line" >< a name = "l00199" ></ a >< span class = "lineno" > 199</ span >   < span class = "comment" > // But we need an implementation for T=int</ span ></ div >
< div class = "line" >< a name = "l00200" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a69f80925d46f3630a2242b44ddb43a56" > 200</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::NormalizeSelf</ a > ()</ div >
< div class = "line" >< a name = "l00201" ></ a >< span class = "lineno" > 201</ span >   {</ div >
< div class = "line" >< a name = "l00202" ></ a >< span class = "lineno" > 202</ span >   std::cerr << < span class = "stringliteral" > " Stop normalizing int-vectors!!" </ span > << std::endl;</ div >
< div class = "line" >< a name = "l00203" ></ a >< span class = "lineno" > 203</ span >   x = 0;</ div >
< div class = "line" >< a name = "l00204" ></ a >< span class = "lineno" > 204</ span >   y = 0;</ div >
< div class = "line" >< a name = "l00205" ></ a >< span class = "lineno" > 205</ span >   z = 0;</ div >
< div class = "line" >< a name = "l00206" ></ a >< span class = "lineno" > 206</ span >   </ div >
< div class = "line" >< a name = "l00207" ></ a >< span class = "lineno" > 207</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00208" ></ a >< span class = "lineno" > 208</ span >   }</ div >
< div class = "line" >< a name = "l00209" ></ a >< span class = "lineno" > 209</ span >   </ div >
< div class = "line" >< a name = "l00210" ></ a >< span class = "lineno" > 210</ span >   </ div >
< div class = "line" >< a name = "l00211" ></ a >< span class = "lineno" > 211</ span >   </ div >
< div class = "line" >< a name = "l00212" ></ a >< span class = "lineno" > 212</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00213" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a9613bb7d4981c921b8310d5eedf59b07" > 213</ a ></ span >   < span class = "keywordtype" > bool</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::Similar</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other, < span class = "keywordtype" > double</ span > epsilon)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00214" ></ a >< span class = "lineno" > 214</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00215" ></ a >< span class = "lineno" > 215</ span >   < span class = "keywordflow" > return</ span ></ div >
< div class = "line" >< a name = "l00216" ></ a >< span class = "lineno" > 216</ span >   (::Math::Similar(x, other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > , epsilon)) && </ div >
< div class = "line" >< a name = "l00217" ></ a >< span class = "lineno" > 217</ span >   (::Math::Similar(y, other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , epsilon)) && </ div >
< div class = "line" >< a name = "l00218" ></ a >< span class = "lineno" > 218</ span >   (::Math::Similar(z, other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , epsilon))</ div >
< div class = "line" >< a name = "l00219" ></ a >< span class = "lineno" > 219</ span >   ;</ div >
< div class = "line" >< a name = "l00220" ></ a >< span class = "lineno" > 220</ span >   }</ div >
< div class = "line" >< a name = "l00221" ></ a >< span class = "lineno" > 221</ span >   </ div >
< div class = "line" >< a name = "l00222" ></ a >< span class = "lineno" > 222</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00223" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a0510707e23eb81c4a799dffc7b0ce127" > 223</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::ToInt</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00224" ></ a >< span class = "lineno" > 224</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00225" ></ a >< span class = "lineno" > 225</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > ((< span class = "keywordtype" > int</ span > )x, (< span class = "keywordtype" > int</ span > )y, (< span class = "keywordtype" > int</ span > )z);</ div >
< div class = "line" >< a name = "l00226" ></ a >< span class = "lineno" > 226</ span >   }</ div >
< div class = "line" >< a name = "l00227" ></ a >< span class = "lineno" > 227</ span >   </ div >
< div class = "line" >< a name = "l00228" ></ a >< span class = "lineno" > 228</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00229" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a04560b5fa992b7fa455fc4d406928df8" > 229</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::ToDouble</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00230" ></ a >< span class = "lineno" > 230</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00231" ></ a >< span class = "lineno" > 231</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > ((< span class = "keywordtype" > double</ span > )x, (< span class = "keywordtype" > double</ span > )y, (< span class = "keywordtype" > double</ span > )z);</ div >
< div class = "line" >< a name = "l00232" ></ a >< span class = "lineno" > 232</ span >   }</ div >
< div class = "line" >< a name = "l00233" ></ a >< span class = "lineno" > 233</ span >   </ div >
< div class = "line" >< a name = "l00234" ></ a >< span class = "lineno" > 234</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00235" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a71f307ae6427a4d6df51647c9d76504b" > 235</ a ></ span >   T& < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator[]</ a > (std::size_t idx)</ div >
< div class = "line" >< a name = "l00236" ></ a >< span class = "lineno" > 236</ span >   {</ div >
< div class = "line" >< a name = "l00237" ></ a >< span class = "lineno" > 237</ span >   < span class = "keywordflow" > switch</ span > (idx)</ div >
< div class = "line" >< a name = "l00238" ></ a >< span class = "lineno" > 238</ span >   {</ div >
< div class = "line" >< a name = "l00239" ></ a >< span class = "lineno" > 239</ span >   < span class = "keywordflow" > case</ span > 0:</ div >
< div class = "line" >< a name = "l00240" ></ a >< span class = "lineno" > 240</ span >   < span class = "keywordflow" > return</ span > x;</ div >
< div class = "line" >< a name = "l00241" ></ a >< span class = "lineno" > 241</ span >   < span class = "keywordflow" > case</ span > 1:</ div >
< div class = "line" >< a name = "l00242" ></ a >< span class = "lineno" > 242</ span >   < span class = "keywordflow" > return</ span > y;</ div >
< div class = "line" >< a name = "l00243" ></ a >< span class = "lineno" > 243</ span >   < span class = "keywordflow" > case</ span > 2:</ div >
< div class = "line" >< a name = "l00244" ></ a >< span class = "lineno" > 244</ span >   < span class = "keywordflow" > return</ span > z;</ div >
< div class = "line" >< a name = "l00245" ></ a >< span class = "lineno" > 245</ span >   < span class = "keywordflow" > default</ span > :</ div >
< div class = "line" >< a name = "l00246" ></ a >< span class = "lineno" > 246</ span >   < span class = "keywordflow" > throw</ span > std::out_of_range(< span class = "stringliteral" > " Array descriptor on Vector3< T> out of range!" </ span > );</ div >
< div class = "line" >< a name = "l00247" ></ a >< span class = "lineno" > 247</ span >   }</ div >
< div class = "line" >< a name = "l00248" ></ a >< span class = "lineno" > 248</ span >   }</ div >
< div class = "line" >< a name = "l00249" ></ a >< span class = "lineno" > 249</ span >   </ div >
< div class = "line" >< a name = "l00250" ></ a >< span class = "lineno" > 250</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00251" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a4c028a7bab65693aff5d1a7c992326dc" > 251</ a ></ span >   < span class = "keyword" > const</ span > T& < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator[]</ a > (std::size_t idx)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00252" ></ a >< span class = "lineno" > 252</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00253" ></ a >< span class = "lineno" > 253</ span >   < span class = "keywordflow" > switch</ span > (idx)</ div >
< div class = "line" >< a name = "l00254" ></ a >< span class = "lineno" > 254</ span >   {</ div >
< div class = "line" >< a name = "l00255" ></ a >< span class = "lineno" > 255</ span >   < span class = "keywordflow" > case</ span > 0:</ div >
< div class = "line" >< a name = "l00256" ></ a >< span class = "lineno" > 256</ span >   < span class = "keywordflow" > return</ span > x;</ div >
< div class = "line" >< a name = "l00257" ></ a >< span class = "lineno" > 257</ span >   < span class = "keywordflow" > case</ span > 1:</ div >
< div class = "line" >< a name = "l00258" ></ a >< span class = "lineno" > 258</ span >   < span class = "keywordflow" > return</ span > y;</ div >
< div class = "line" >< a name = "l00259" ></ a >< span class = "lineno" > 259</ span >   < span class = "keywordflow" > case</ span > 2:</ div >
< div class = "line" >< a name = "l00260" ></ a >< span class = "lineno" > 260</ span >   < span class = "keywordflow" > return</ span > z;</ div >
< div class = "line" >< a name = "l00261" ></ a >< span class = "lineno" > 261</ span >   < span class = "keywordflow" > default</ span > :</ div >
< div class = "line" >< a name = "l00262" ></ a >< span class = "lineno" > 262</ span >   < span class = "keywordflow" > throw</ span > std::out_of_range(< span class = "stringliteral" > " Array descriptor on Vector3< T> out of range!" </ span > );</ div >
< div class = "line" >< a name = "l00263" ></ a >< span class = "lineno" > 263</ span >   }</ div >
< div class = "line" >< a name = "l00264" ></ a >< span class = "lineno" > 264</ span >   }</ div >
< div class = "line" >< a name = "l00265" ></ a >< span class = "lineno" > 265</ span >   </ div >
< div class = "line" >< a name = "l00266" ></ a >< span class = "lineno" > 266</ span >   </ div >
< div class = "line" >< a name = "l00267" ></ a >< span class = "lineno" > 267</ span >   </ div >
< div class = "line" >< a name = "l00268" ></ a >< span class = "lineno" > 268</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00269" ></ a >< span class = "lineno" > 269</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::LerpSelf</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other, < span class = "keywordtype" > double</ span > t)</ div >
< div class = "line" >< a name = "l00270" ></ a >< span class = "lineno" > 270</ span >   {</ div >
< div class = "line" >< a name = "l00271" ></ a >< span class = "lineno" > 271</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > it = 1.0 - t; < span class = "comment" > // Inverse t</ span ></ div >
< div class = "line" >< a name = "l00272" ></ a >< span class = "lineno" > 272</ span >   </ div >
< div class = "line" >< a name = "l00273" ></ a >< span class = "lineno" > 273</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00274" ></ a >< span class = "lineno" > 274</ span >   </ div >
< div class = "line" >< a name = "l00275" ></ a >< span class = "lineno" > 275</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00276" ></ a >< span class = "lineno" > 276</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00277" ></ a >< span class = "lineno" > 277</ span >   __m256d __vector_other = _mm256_set_pd(0, other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00278" ></ a >< span class = "lineno" > 278</ span >   __m256d __t = _mm256_set1_pd(t);</ div >
< div class = "line" >< a name = "l00279" ></ a >< span class = "lineno" > 279</ span >   __m256d __it = _mm256_set1_pd(it); < span class = "comment" > // Inverse t</ span ></ div >
< div class = "line" >< a name = "l00280" ></ a >< span class = "lineno" > 280</ span >   </ div >
< div class = "line" >< a name = "l00281" ></ a >< span class = "lineno" > 281</ span >   < span class = "comment" > // Procedure:</ span ></ div >
< div class = "line" >< a name = "l00282" ></ a >< span class = "lineno" > 282</ span >   < span class = "comment" > // (__vector_self * __it) + (__vector_other * __t)</ span ></ div >
< div class = "line" >< a name = "l00283" ></ a >< span class = "lineno" > 283</ span >   </ div >
< div class = "line" >< a name = "l00284" ></ a >< span class = "lineno" > 284</ span >   __m256d __sum = _mm256_set1_pd(0); < span class = "comment" > // this will hold the sum of the two multiplications</ span ></ div >
< div class = "line" >< a name = "l00285" ></ a >< span class = "lineno" > 285</ span >   </ div >
< div class = "line" >< a name = "l00286" ></ a >< span class = "lineno" > 286</ span >   __sum = _mm256_fmadd_pd(__vector_self, __it, __sum);</ div >
< div class = "line" >< a name = "l00287" ></ a >< span class = "lineno" > 287</ span >   __sum = _mm256_fmadd_pd(__vector_other, __t, __sum);</ div >
< div class = "line" >< a name = "l00288" ></ a >< span class = "lineno" > 288</ span >   </ div >
< div class = "line" >< a name = "l00289" ></ a >< span class = "lineno" > 289</ span >   < span class = "comment" > // Retrieve result, and apply it</ span ></ div >
< div class = "line" >< a name = "l00290" ></ a >< span class = "lineno" > 290</ span >   < span class = "keywordtype" > double</ span > sum[4];</ div >
< div class = "line" >< a name = "l00291" ></ a >< span class = "lineno" > 291</ span >   _mm256_storeu_pd(sum, __sum);</ div >
< div class = "line" >< a name = "l00292" ></ a >< span class = "lineno" > 292</ span >   </ div >
< div class = "line" >< a name = "l00293" ></ a >< span class = "lineno" > 293</ span >   x = sum[0];</ div >
< div class = "line" >< a name = "l00294" ></ a >< span class = "lineno" > 294</ span >   y = sum[1];</ div >
< div class = "line" >< a name = "l00295" ></ a >< span class = "lineno" > 295</ span >   z = sum[2];</ div >
< div class = "line" >< a name = "l00296" ></ a >< span class = "lineno" > 296</ span >   </ div >
< div class = "line" >< a name = "l00297" ></ a >< span class = "lineno" > 297</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00298" ></ a >< span class = "lineno" > 298</ span >   </ div >
< div class = "line" >< a name = "l00299" ></ a >< span class = "lineno" > 299</ span >   x = it*x + t*other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ;</ div >
< div class = "line" >< a name = "l00300" ></ a >< span class = "lineno" > 300</ span >   y = it*y + t*other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ;</ div >
< div class = "line" >< a name = "l00301" ></ a >< span class = "lineno" > 301</ span >   z = it*z + t*other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ;</ div >
< div class = "line" >< a name = "l00302" ></ a >< span class = "lineno" > 302</ span >   </ div >
< div class = "line" >< a name = "l00303" ></ a >< span class = "lineno" > 303</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00304" ></ a >< span class = "lineno" > 304</ span >   </ div >
< div class = "line" >< a name = "l00305" ></ a >< span class = "lineno" > 305</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00306" ></ a >< span class = "lineno" > 306</ span >   }</ div >
< div class = "line" >< a name = "l00307" ></ a >< span class = "lineno" > 307</ span >   </ div >
< div class = "line" >< a name = "l00308" ></ a >< span class = "lineno" > 308</ span >   </ div >
< div class = "line" >< a name = "l00309" ></ a >< span class = "lineno" > 309</ span >   </ div >
< div class = "line" >< a name = "l00310" ></ a >< span class = "lineno" > 310</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00311" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a8fb48e9a527d5e6fadb3b3102fa8f4c3" > 311</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::LerpSelf</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > & other, < span class = "keywordtype" > double</ span > t)</ div >
< div class = "line" >< a name = "l00312" ></ a >< span class = "lineno" > 312</ span >   {</ div >
< div class = "line" >< a name = "l00313" ></ a >< span class = "lineno" > 313</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > it = 1.0 - t; < span class = "comment" > // Inverse t</ span ></ div >
< div class = "line" >< a name = "l00314" ></ a >< span class = "lineno" > 314</ span >   </ div >
< div class = "line" >< a name = "l00315" ></ a >< span class = "lineno" > 315</ span >   x = (int)(it * (< span class = "keywordtype" > double</ span > )x + t * (double)other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00316" ></ a >< span class = "lineno" > 316</ span >   y = (int)(it * (< span class = "keywordtype" > double</ span > )y + t * (double)other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > );</ div >
< div class = "line" >< a name = "l00317" ></ a >< span class = "lineno" > 317</ span >   z = (int)(it * (< span class = "keywordtype" > double</ span > )z + t * (double)other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00318" ></ a >< span class = "lineno" > 318</ span >   </ div >
< div class = "line" >< a name = "l00319" ></ a >< span class = "lineno" > 319</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00320" ></ a >< span class = "lineno" > 320</ span >   }</ div >
< div class = "line" >< a name = "l00321" ></ a >< span class = "lineno" > 321</ span >   </ div >
< div class = "line" >< a name = "l00322" ></ a >< span class = "lineno" > 322</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::Lerp</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other, < span class = "keywordtype" > double</ span > t)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00323" ></ a >< span class = "lineno" > 323</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00324" ></ a >< span class = "lineno" > 324</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3d</ a > copy(*< span class = "keyword" > this</ span > );</ div >
< div class = "line" >< a name = "l00325" ></ a >< span class = "lineno" > 325</ span >   copy.LerpSelf(other, t);</ div >
< div class = "line" >< a name = "l00326" ></ a >< span class = "lineno" > 326</ span >   </ div >
< div class = "line" >< a name = "l00327" ></ a >< span class = "lineno" > 327</ span >   < span class = "keywordflow" > return</ span > copy;</ div >
< div class = "line" >< a name = "l00328" ></ a >< span class = "lineno" > 328</ span >   }</ div >
< div class = "line" >< a name = "l00329" ></ a >< span class = "lineno" > 329</ span >   </ div >
< div class = "line" >< a name = "l00330" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#add2f96155edb1159b53725932d951f1f" > 330</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::Lerp</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > & other, < span class = "keywordtype" > double</ span > t)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00331" ></ a >< span class = "lineno" > 331</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00332" ></ a >< span class = "lineno" > 332</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3d</ a > copy(this-> ToDouble());</ div >
< div class = "line" >< a name = "l00333" ></ a >< span class = "lineno" > 333</ span >   copy.< a class = "code" href = "classEule_1_1Vector3.html#a8fb48e9a527d5e6fadb3b3102fa8f4c3" > LerpSelf</ a > (other.< a class = "code" href = "classEule_1_1Vector3.html#a04560b5fa992b7fa455fc4d406928df8" > ToDouble</ a > (), t);</ div >
< div class = "line" >< a name = "l00334" ></ a >< span class = "lineno" > 334</ span >   </ div >
< div class = "line" >< a name = "l00335" ></ a >< span class = "lineno" > 335</ span >   < span class = "keywordflow" > return</ span > copy;</ div >
< div class = "line" >< a name = "l00336" ></ a >< span class = "lineno" > 336</ span >   }</ div >
< div class = "line" >< a name = "l00337" ></ a >< span class = "lineno" > 337</ span >   </ div >
< div class = "line" >< a name = "l00338" ></ a >< span class = "lineno" > 338</ span >   </ div >
< div class = "line" >< a name = "l00339" ></ a >< span class = "lineno" > 339</ span >   </ div >
< div class = "line" >< a name = "l00340" ></ a >< span class = "lineno" > 340</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator+</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00341" ></ a >< span class = "lineno" > 341</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00342" ></ a >< span class = "lineno" > 342</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00343" ></ a >< span class = "lineno" > 343</ span >   </ div >
< div class = "line" >< a name = "l00344" ></ a >< span class = "lineno" > 344</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00345" ></ a >< span class = "lineno" > 345</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00346" ></ a >< span class = "lineno" > 346</ span >   __m256d __vector_other = _mm256_set_pd(0, other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00347" ></ a >< span class = "lineno" > 347</ span >   </ div >
< div class = "line" >< a name = "l00348" ></ a >< span class = "lineno" > 348</ span >   < span class = "comment" > // Add the components</ span ></ div >
< div class = "line" >< a name = "l00349" ></ a >< span class = "lineno" > 349</ span >   __m256d __sum = _mm256_add_pd(__vector_self, __vector_other);</ div >
< div class = "line" >< a name = "l00350" ></ a >< span class = "lineno" > 350</ span >   </ div >
< div class = "line" >< a name = "l00351" ></ a >< span class = "lineno" > 351</ span >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00352" ></ a >< span class = "lineno" > 352</ span >   < span class = "keywordtype" > double</ span > sum[4];</ div >
< div class = "line" >< a name = "l00353" ></ a >< span class = "lineno" > 353</ span >   _mm256_storeu_pd(sum, __sum);</ div >
< div class = "line" >< a name = "l00354" ></ a >< span class = "lineno" > 354</ span >   </ div >
< div class = "line" >< a name = "l00355" ></ a >< span class = "lineno" > 355</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00356" ></ a >< span class = "lineno" > 356</ span >   sum[0],</ div >
< div class = "line" >< a name = "l00357" ></ a >< span class = "lineno" > 357</ span >   sum[1],</ div >
< div class = "line" >< a name = "l00358" ></ a >< span class = "lineno" > 358</ span >   sum[2]</ div >
< div class = "line" >< a name = "l00359" ></ a >< span class = "lineno" > 359</ span >   );</ div >
< div class = "line" >< a name = "l00360" ></ a >< span class = "lineno" > 360</ span >   </ div >
< div class = "line" >< a name = "l00361" ></ a >< span class = "lineno" > 361</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00362" ></ a >< span class = "lineno" > 362</ span >   </ div >
< div class = "line" >< a name = "l00363" ></ a >< span class = "lineno" > 363</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00364" ></ a >< span class = "lineno" > 364</ span >   x + other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00365" ></ a >< span class = "lineno" > 365</ span >   y + other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00366" ></ a >< span class = "lineno" > 366</ span >   z + other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00367" ></ a >< span class = "lineno" > 367</ span >   );</ div >
< div class = "line" >< a name = "l00368" ></ a >< span class = "lineno" > 368</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00369" ></ a >< span class = "lineno" > 369</ span >   }</ div >
< div class = "line" >< a name = "l00370" ></ a >< span class = "lineno" > 370</ span >   </ div >
< div class = "line" >< a name = "l00371" ></ a >< span class = "lineno" > 371</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00372" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#ae094943bacbd043b41f9b34bdb51542e" > 372</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator+</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00373" ></ a >< span class = "lineno" > 373</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00374" ></ a >< span class = "lineno" > 374</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > (</ div >
< div class = "line" >< a name = "l00375" ></ a >< span class = "lineno" > 375</ span >   x + other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00376" ></ a >< span class = "lineno" > 376</ span >   y + other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00377" ></ a >< span class = "lineno" > 377</ span >   z + other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00378" ></ a >< span class = "lineno" > 378</ span >   );</ div >
< div class = "line" >< a name = "l00379" ></ a >< span class = "lineno" > 379</ span >   }</ div >
< div class = "line" >< a name = "l00380" ></ a >< span class = "lineno" > 380</ span >   </ div >
< div class = "line" >< a name = "l00381" ></ a >< span class = "lineno" > 381</ span >   </ div >
< div class = "line" >< a name = "l00382" ></ a >< span class = "lineno" > 382</ span >   </ div >
< div class = "line" >< a name = "l00383" ></ a >< span class = "lineno" > 383</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator+=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other)</ div >
< div class = "line" >< a name = "l00384" ></ a >< span class = "lineno" > 384</ span >   {</ div >
< div class = "line" >< a name = "l00385" ></ a >< span class = "lineno" > 385</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00386" ></ a >< span class = "lineno" > 386</ span >   </ div >
< div class = "line" >< a name = "l00387" ></ a >< span class = "lineno" > 387</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00388" ></ a >< span class = "lineno" > 388</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00389" ></ a >< span class = "lineno" > 389</ span >   __m256d __vector_other = _mm256_set_pd(0, other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00390" ></ a >< span class = "lineno" > 390</ span >   </ div >
< div class = "line" >< a name = "l00391" ></ a >< span class = "lineno" > 391</ span >   < span class = "comment" > // Add the components</ span ></ div >
< div class = "line" >< a name = "l00392" ></ a >< span class = "lineno" > 392</ span >   __m256d __sum = _mm256_add_pd(__vector_self, __vector_other);</ div >
< div class = "line" >< a name = "l00393" ></ a >< span class = "lineno" > 393</ span >   </ div >
< div class = "line" >< a name = "l00394" ></ a >< span class = "lineno" > 394</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00395" ></ a >< span class = "lineno" > 395</ span >   < span class = "keywordtype" > double</ span > sum[4];</ div >
< div class = "line" >< a name = "l00396" ></ a >< span class = "lineno" > 396</ span >   _mm256_storeu_pd(sum, __sum);</ div >
< div class = "line" >< a name = "l00397" ></ a >< span class = "lineno" > 397</ span >   </ div >
< div class = "line" >< a name = "l00398" ></ a >< span class = "lineno" > 398</ span >   x = sum[0];</ div >
< div class = "line" >< a name = "l00399" ></ a >< span class = "lineno" > 399</ span >   y = sum[1];</ div >
< div class = "line" >< a name = "l00400" ></ a >< span class = "lineno" > 400</ span >   z = sum[2];</ div >
< div class = "line" >< a name = "l00401" ></ a >< span class = "lineno" > 401</ span >   </ div >
< div class = "line" >< a name = "l00402" ></ a >< span class = "lineno" > 402</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00403" ></ a >< span class = "lineno" > 403</ span >   </ div >
< div class = "line" >< a name = "l00404" ></ a >< span class = "lineno" > 404</ span >   x += other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ;</ div >
< div class = "line" >< a name = "l00405" ></ a >< span class = "lineno" > 405</ span >   y += other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ;</ div >
< div class = "line" >< a name = "l00406" ></ a >< span class = "lineno" > 406</ span >   z += other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ;</ div >
< div class = "line" >< a name = "l00407" ></ a >< span class = "lineno" > 407</ span >   </ div >
< div class = "line" >< a name = "l00408" ></ a >< span class = "lineno" > 408</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00409" ></ a >< span class = "lineno" > 409</ span >   </ div >
< div class = "line" >< a name = "l00410" ></ a >< span class = "lineno" > 410</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00411" ></ a >< span class = "lineno" > 411</ span >   }</ div >
< div class = "line" >< a name = "l00412" ></ a >< span class = "lineno" > 412</ span >   </ div >
< div class = "line" >< a name = "l00413" ></ a >< span class = "lineno" > 413</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00414" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#ac6fe920a34552925aff185f335b13e14" > 414</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator+=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)</ div >
< div class = "line" >< a name = "l00415" ></ a >< span class = "lineno" > 415</ span >   {</ div >
< div class = "line" >< a name = "l00416" ></ a >< span class = "lineno" > 416</ span >   x += other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ;</ div >
< div class = "line" >< a name = "l00417" ></ a >< span class = "lineno" > 417</ span >   y += other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ;</ div >
< div class = "line" >< a name = "l00418" ></ a >< span class = "lineno" > 418</ span >   z += other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ;</ div >
< div class = "line" >< a name = "l00419" ></ a >< span class = "lineno" > 419</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00420" ></ a >< span class = "lineno" > 420</ span >   }</ div >
< div class = "line" >< a name = "l00421" ></ a >< span class = "lineno" > 421</ span >   </ div >
< div class = "line" >< a name = "l00422" ></ a >< span class = "lineno" > 422</ span >   </ div >
< div class = "line" >< a name = "l00423" ></ a >< span class = "lineno" > 423</ span >   </ div >
< div class = "line" >< a name = "l00424" ></ a >< span class = "lineno" > 424</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator-</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00425" ></ a >< span class = "lineno" > 425</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00426" ></ a >< span class = "lineno" > 426</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00427" ></ a >< span class = "lineno" > 427</ span >   </ div >
< div class = "line" >< a name = "l00428" ></ a >< span class = "lineno" > 428</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00429" ></ a >< span class = "lineno" > 429</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00430" ></ a >< span class = "lineno" > 430</ span >   __m256d __vector_other = _mm256_set_pd(0, other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00431" ></ a >< span class = "lineno" > 431</ span >   </ div >
< div class = "line" >< a name = "l00432" ></ a >< span class = "lineno" > 432</ span >   < span class = "comment" > // Subtract the components</ span ></ div >
< div class = "line" >< a name = "l00433" ></ a >< span class = "lineno" > 433</ span >   __m256d __diff = _mm256_sub_pd(__vector_self, __vector_other);</ div >
< div class = "line" >< a name = "l00434" ></ a >< span class = "lineno" > 434</ span >   </ div >
< div class = "line" >< a name = "l00435" ></ a >< span class = "lineno" > 435</ span >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00436" ></ a >< span class = "lineno" > 436</ span >   < span class = "keywordtype" > double</ span > diff[4];</ div >
< div class = "line" >< a name = "l00437" ></ a >< span class = "lineno" > 437</ span >   _mm256_storeu_pd(diff, __diff);</ div >
< div class = "line" >< a name = "l00438" ></ a >< span class = "lineno" > 438</ span >   </ div >
< div class = "line" >< a name = "l00439" ></ a >< span class = "lineno" > 439</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00440" ></ a >< span class = "lineno" > 440</ span >   diff[0],</ div >
< div class = "line" >< a name = "l00441" ></ a >< span class = "lineno" > 441</ span >   diff[1],</ div >
< div class = "line" >< a name = "l00442" ></ a >< span class = "lineno" > 442</ span >   diff[2]</ div >
< div class = "line" >< a name = "l00443" ></ a >< span class = "lineno" > 443</ span >   );</ div >
< div class = "line" >< a name = "l00444" ></ a >< span class = "lineno" > 444</ span >   </ div >
< div class = "line" >< a name = "l00445" ></ a >< span class = "lineno" > 445</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00446" ></ a >< span class = "lineno" > 446</ span >   </ div >
< div class = "line" >< a name = "l00447" ></ a >< span class = "lineno" > 447</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00448" ></ a >< span class = "lineno" > 448</ span >   x - other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00449" ></ a >< span class = "lineno" > 449</ span >   y - other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00450" ></ a >< span class = "lineno" > 450</ span >   z - other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00451" ></ a >< span class = "lineno" > 451</ span >   );</ div >
< div class = "line" >< a name = "l00452" ></ a >< span class = "lineno" > 452</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00453" ></ a >< span class = "lineno" > 453</ span >   }</ div >
< div class = "line" >< a name = "l00454" ></ a >< span class = "lineno" > 454</ span >   </ div >
< div class = "line" >< a name = "l00455" ></ a >< span class = "lineno" > 455</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00456" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a88273031482c057795e05ea25218ea4b" > 456</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator-</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00457" ></ a >< span class = "lineno" > 457</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00458" ></ a >< span class = "lineno" > 458</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > (</ div >
< div class = "line" >< a name = "l00459" ></ a >< span class = "lineno" > 459</ span >   x - other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00460" ></ a >< span class = "lineno" > 460</ span >   y - other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00461" ></ a >< span class = "lineno" > 461</ span >   z - other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00462" ></ a >< span class = "lineno" > 462</ span >   );</ div >
< div class = "line" >< a name = "l00463" ></ a >< span class = "lineno" > 463</ span >   }</ div >
< div class = "line" >< a name = "l00464" ></ a >< span class = "lineno" > 464</ span >   </ div >
< div class = "line" >< a name = "l00465" ></ a >< span class = "lineno" > 465</ span >   </ div >
< div class = "line" >< a name = "l00466" ></ a >< span class = "lineno" > 466</ span >   </ div >
< div class = "line" >< a name = "l00467" ></ a >< span class = "lineno" > 467</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator-=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > & other)</ div >
< div class = "line" >< a name = "l00468" ></ a >< span class = "lineno" > 468</ span >   {</ div >
< div class = "line" >< a name = "l00469" ></ a >< span class = "lineno" > 469</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00470" ></ a >< span class = "lineno" > 470</ span >   </ div >
< div class = "line" >< a name = "l00471" ></ a >< span class = "lineno" > 471</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00472" ></ a >< span class = "lineno" > 472</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00473" ></ a >< span class = "lineno" > 473</ span >   __m256d __vector_other = _mm256_set_pd(0, other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00474" ></ a >< span class = "lineno" > 474</ span >   </ div >
< div class = "line" >< a name = "l00475" ></ a >< span class = "lineno" > 475</ span >   < span class = "comment" > // Subtract the components</ span ></ div >
< div class = "line" >< a name = "l00476" ></ a >< span class = "lineno" > 476</ span >   __m256d __diff = _mm256_sub_pd(__vector_self, __vector_other);</ div >
< div class = "line" >< a name = "l00477" ></ a >< span class = "lineno" > 477</ span >   </ div >
< div class = "line" >< a name = "l00478" ></ a >< span class = "lineno" > 478</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00479" ></ a >< span class = "lineno" > 479</ span >   < span class = "keywordtype" > double</ span > diff[4];</ div >
< div class = "line" >< a name = "l00480" ></ a >< span class = "lineno" > 480</ span >   _mm256_storeu_pd(diff, __diff);</ div >
< div class = "line" >< a name = "l00481" ></ a >< span class = "lineno" > 481</ span >   </ div >
< div class = "line" >< a name = "l00482" ></ a >< span class = "lineno" > 482</ span >   x = diff[0];</ div >
< div class = "line" >< a name = "l00483" ></ a >< span class = "lineno" > 483</ span >   y = diff[1];</ div >
< div class = "line" >< a name = "l00484" ></ a >< span class = "lineno" > 484</ span >   z = diff[2];</ div >
< div class = "line" >< a name = "l00485" ></ a >< span class = "lineno" > 485</ span >   </ div >
< div class = "line" >< a name = "l00486" ></ a >< span class = "lineno" > 486</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00487" ></ a >< span class = "lineno" > 487</ span >   </ div >
< div class = "line" >< a name = "l00488" ></ a >< span class = "lineno" > 488</ span >   x -= other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ;</ div >
< div class = "line" >< a name = "l00489" ></ a >< span class = "lineno" > 489</ span >   y -= other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ;</ div >
< div class = "line" >< a name = "l00490" ></ a >< span class = "lineno" > 490</ span >   z -= other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ;</ div >
< div class = "line" >< a name = "l00491" ></ a >< span class = "lineno" > 491</ span >   </ div >
< div class = "line" >< a name = "l00492" ></ a >< span class = "lineno" > 492</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00493" ></ a >< span class = "lineno" > 493</ span >   </ div >
< div class = "line" >< a name = "l00494" ></ a >< span class = "lineno" > 494</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00495" ></ a >< span class = "lineno" > 495</ span >   }</ div >
< div class = "line" >< a name = "l00496" ></ a >< span class = "lineno" > 496</ span >   </ div >
< div class = "line" >< a name = "l00497" ></ a >< span class = "lineno" > 497</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00498" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#af1207f3bf66aaf0fa781d43db40b8006" > 498</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator-=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)</ div >
< div class = "line" >< a name = "l00499" ></ a >< span class = "lineno" > 499</ span >   {</ div >
< div class = "line" >< a name = "l00500" ></ a >< span class = "lineno" > 500</ span >   x -= other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ;</ div >
< div class = "line" >< a name = "l00501" ></ a >< span class = "lineno" > 501</ span >   y -= other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ;</ div >
< div class = "line" >< a name = "l00502" ></ a >< span class = "lineno" > 502</ span >   z -= other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ;</ div >
< div class = "line" >< a name = "l00503" ></ a >< span class = "lineno" > 503</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00504" ></ a >< span class = "lineno" > 504</ span >   }</ div >
< div class = "line" >< a name = "l00505" ></ a >< span class = "lineno" > 505</ span >   </ div >
< div class = "line" >< a name = "l00506" ></ a >< span class = "lineno" > 506</ span >   </ div >
< div class = "line" >< a name = "l00507" ></ a >< span class = "lineno" > 507</ span >   </ div >
< div class = "line" >< a name = "l00508" ></ a >< span class = "lineno" > 508</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator*</ a > (< span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > scale)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00509" ></ a >< span class = "lineno" > 509</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00510" ></ a >< span class = "lineno" > 510</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00511" ></ a >< span class = "lineno" > 511</ span >   </ div >
< div class = "line" >< a name = "l00512" ></ a >< span class = "lineno" > 512</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00513" ></ a >< span class = "lineno" > 513</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00514" ></ a >< span class = "lineno" > 514</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00515" ></ a >< span class = "lineno" > 515</ span >   </ div >
< div class = "line" >< a name = "l00516" ></ a >< span class = "lineno" > 516</ span >   < span class = "comment" > // Multiply the components</ span ></ div >
< div class = "line" >< a name = "l00517" ></ a >< span class = "lineno" > 517</ span >   __m256d __prod = _mm256_mul_pd(__vector_self, __scalar);</ div >
< div class = "line" >< a name = "l00518" ></ a >< span class = "lineno" > 518</ span >   </ div >
< div class = "line" >< a name = "l00519" ></ a >< span class = "lineno" > 519</ span >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00520" ></ a >< span class = "lineno" > 520</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00521" ></ a >< span class = "lineno" > 521</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00522" ></ a >< span class = "lineno" > 522</ span >   </ div >
< div class = "line" >< a name = "l00523" ></ a >< span class = "lineno" > 523</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00524" ></ a >< span class = "lineno" > 524</ span >   prod[0],</ div >
< div class = "line" >< a name = "l00525" ></ a >< span class = "lineno" > 525</ span >   prod[1],</ div >
< div class = "line" >< a name = "l00526" ></ a >< span class = "lineno" > 526</ span >   prod[2]</ div >
< div class = "line" >< a name = "l00527" ></ a >< span class = "lineno" > 527</ span >   );</ div >
< div class = "line" >< a name = "l00528" ></ a >< span class = "lineno" > 528</ span >   </ div >
< div class = "line" >< a name = "l00529" ></ a >< span class = "lineno" > 529</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00530" ></ a >< span class = "lineno" > 530</ span >   </ div >
< div class = "line" >< a name = "l00531" ></ a >< span class = "lineno" > 531</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00532" ></ a >< span class = "lineno" > 532</ span >   x * scale,</ div >
< div class = "line" >< a name = "l00533" ></ a >< span class = "lineno" > 533</ span >   y * scale,</ div >
< div class = "line" >< a name = "l00534" ></ a >< span class = "lineno" > 534</ span >   z * scale</ div >
< div class = "line" >< a name = "l00535" ></ a >< span class = "lineno" > 535</ span >   );</ div >
< div class = "line" >< a name = "l00536" ></ a >< span class = "lineno" > 536</ span >   </ div >
< div class = "line" >< a name = "l00537" ></ a >< span class = "lineno" > 537</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00538" ></ a >< span class = "lineno" > 538</ span >   }</ div >
< div class = "line" >< a name = "l00539" ></ a >< span class = "lineno" > 539</ span >   </ div >
< div class = "line" >< a name = "l00540" ></ a >< span class = "lineno" > 540</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00541" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#afd6db19e66c398814f79bfd454682548" > 541</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator*</ a > (< span class = "keyword" > const</ span > T scale)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00542" ></ a >< span class = "lineno" > 542</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00543" ></ a >< span class = "lineno" > 543</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > (</ div >
< div class = "line" >< a name = "l00544" ></ a >< span class = "lineno" > 544</ span >   x * scale,</ div >
< div class = "line" >< a name = "l00545" ></ a >< span class = "lineno" > 545</ span >   y * scale,</ div >
< div class = "line" >< a name = "l00546" ></ a >< span class = "lineno" > 546</ span >   z * scale</ div >
< div class = "line" >< a name = "l00547" ></ a >< span class = "lineno" > 547</ span >   );</ div >
< div class = "line" >< a name = "l00548" ></ a >< span class = "lineno" > 548</ span >   }</ div >
< div class = "line" >< a name = "l00549" ></ a >< span class = "lineno" > 549</ span >   </ div >
< div class = "line" >< a name = "l00550" ></ a >< span class = "lineno" > 550</ span >   </ div >
< div class = "line" >< a name = "l00551" ></ a >< span class = "lineno" > 551</ span >   </ div >
< div class = "line" >< a name = "l00552" ></ a >< span class = "lineno" > 552</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator*=</ a > (< span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > scale)</ div >
< div class = "line" >< a name = "l00553" ></ a >< span class = "lineno" > 553</ span >   {</ div >
< div class = "line" >< a name = "l00554" ></ a >< span class = "lineno" > 554</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00555" ></ a >< span class = "lineno" > 555</ span >   </ div >
< div class = "line" >< a name = "l00556" ></ a >< span class = "lineno" > 556</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00557" ></ a >< span class = "lineno" > 557</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00558" ></ a >< span class = "lineno" > 558</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00559" ></ a >< span class = "lineno" > 559</ span >   </ div >
< div class = "line" >< a name = "l00560" ></ a >< span class = "lineno" > 560</ span >   < span class = "comment" > // Multiply the components</ span ></ div >
< div class = "line" >< a name = "l00561" ></ a >< span class = "lineno" > 561</ span >   __m256d __prod = _mm256_mul_pd(__vector_self, __scalar);</ div >
< div class = "line" >< a name = "l00562" ></ a >< span class = "lineno" > 562</ span >   </ div >
< div class = "line" >< a name = "l00563" ></ a >< span class = "lineno" > 563</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00564" ></ a >< span class = "lineno" > 564</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00565" ></ a >< span class = "lineno" > 565</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00566" ></ a >< span class = "lineno" > 566</ span >   </ div >
< div class = "line" >< a name = "l00567" ></ a >< span class = "lineno" > 567</ span >   x = prod[0];</ div >
< div class = "line" >< a name = "l00568" ></ a >< span class = "lineno" > 568</ span >   y = prod[1];</ div >
< div class = "line" >< a name = "l00569" ></ a >< span class = "lineno" > 569</ span >   z = prod[2];</ div >
< div class = "line" >< a name = "l00570" ></ a >< span class = "lineno" > 570</ span >   </ div >
< div class = "line" >< a name = "l00571" ></ a >< span class = "lineno" > 571</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00572" ></ a >< span class = "lineno" > 572</ span >   </ div >
< div class = "line" >< a name = "l00573" ></ a >< span class = "lineno" > 573</ span >   x *= scale;</ div >
< div class = "line" >< a name = "l00574" ></ a >< span class = "lineno" > 574</ span >   y *= scale;</ div >
< div class = "line" >< a name = "l00575" ></ a >< span class = "lineno" > 575</ span >   z *= scale;</ div >
< div class = "line" >< a name = "l00576" ></ a >< span class = "lineno" > 576</ span >   </ div >
< div class = "line" >< a name = "l00577" ></ a >< span class = "lineno" > 577</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00578" ></ a >< span class = "lineno" > 578</ span >   </ div >
< div class = "line" >< a name = "l00579" ></ a >< span class = "lineno" > 579</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00580" ></ a >< span class = "lineno" > 580</ span >   }</ div >
< div class = "line" >< a name = "l00581" ></ a >< span class = "lineno" > 581</ span >   </ div >
< div class = "line" >< a name = "l00582" ></ a >< span class = "lineno" > 582</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00583" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a7a6e66693d2a1e5cf4dd7cca94ad49db" > 583</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator*=</ a > (< span class = "keyword" > const</ span > T scale)</ div >
< div class = "line" >< a name = "l00584" ></ a >< span class = "lineno" > 584</ span >   {</ div >
< div class = "line" >< a name = "l00585" ></ a >< span class = "lineno" > 585</ span >   x *= scale;</ div >
< div class = "line" >< a name = "l00586" ></ a >< span class = "lineno" > 586</ span >   y *= scale;</ div >
< div class = "line" >< a name = "l00587" ></ a >< span class = "lineno" > 587</ span >   z *= scale;</ div >
< div class = "line" >< a name = "l00588" ></ a >< span class = "lineno" > 588</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00589" ></ a >< span class = "lineno" > 589</ span >   }</ div >
< div class = "line" >< a name = "l00590" ></ a >< span class = "lineno" > 590</ span >   </ div >
< div class = "line" >< a name = "l00591" ></ a >< span class = "lineno" > 591</ span >   </ div >
< div class = "line" >< a name = "l00592" ></ a >< span class = "lineno" > 592</ span >   </ div >
< div class = "line" >< a name = "l00593" ></ a >< span class = "lineno" > 593</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator/</ a > (< span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > scale)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00594" ></ a >< span class = "lineno" > 594</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00595" ></ a >< span class = "lineno" > 595</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00596" ></ a >< span class = "lineno" > 596</ span >   </ div >
< div class = "line" >< a name = "l00597" ></ a >< span class = "lineno" > 597</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00598" ></ a >< span class = "lineno" > 598</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00599" ></ a >< span class = "lineno" > 599</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00600" ></ a >< span class = "lineno" > 600</ span >   </ div >
< div class = "line" >< a name = "l00601" ></ a >< span class = "lineno" > 601</ span >   < span class = "comment" > // Divide the components</ span ></ div >
< div class = "line" >< a name = "l00602" ></ a >< span class = "lineno" > 602</ span >   __m256d __prod = _mm256_div_pd(__vector_self, __scalar);</ div >
< div class = "line" >< a name = "l00603" ></ a >< span class = "lineno" > 603</ span >   </ div >
< div class = "line" >< a name = "l00604" ></ a >< span class = "lineno" > 604</ span >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00605" ></ a >< span class = "lineno" > 605</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00606" ></ a >< span class = "lineno" > 606</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00607" ></ a >< span class = "lineno" > 607</ span >   </ div >
< div class = "line" >< a name = "l00608" ></ a >< span class = "lineno" > 608</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00609" ></ a >< span class = "lineno" > 609</ span >   prod[0],</ div >
< div class = "line" >< a name = "l00610" ></ a >< span class = "lineno" > 610</ span >   prod[1],</ div >
< div class = "line" >< a name = "l00611" ></ a >< span class = "lineno" > 611</ span >   prod[2]</ div >
< div class = "line" >< a name = "l00612" ></ a >< span class = "lineno" > 612</ span >   );</ div >
< div class = "line" >< a name = "l00613" ></ a >< span class = "lineno" > 613</ span >   </ div >
< div class = "line" >< a name = "l00614" ></ a >< span class = "lineno" > 614</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00615" ></ a >< span class = "lineno" > 615</ span >   </ div >
< div class = "line" >< a name = "l00616" ></ a >< span class = "lineno" > 616</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > (</ div >
< div class = "line" >< a name = "l00617" ></ a >< span class = "lineno" > 617</ span >   x / scale,</ div >
< div class = "line" >< a name = "l00618" ></ a >< span class = "lineno" > 618</ span >   y / scale,</ div >
< div class = "line" >< a name = "l00619" ></ a >< span class = "lineno" > 619</ span >   z / scale</ div >
< div class = "line" >< a name = "l00620" ></ a >< span class = "lineno" > 620</ span >   );</ div >
< div class = "line" >< a name = "l00621" ></ a >< span class = "lineno" > 621</ span >   </ div >
< div class = "line" >< a name = "l00622" ></ a >< span class = "lineno" > 622</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00623" ></ a >< span class = "lineno" > 623</ span >   }</ div >
< div class = "line" >< a name = "l00624" ></ a >< span class = "lineno" > 624</ span >   </ div >
< div class = "line" >< a name = "l00625" ></ a >< span class = "lineno" > 625</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00626" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#aa9bace50e1db42029d93fbd8a417fc70" > 626</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator/</ a > (< span class = "keyword" > const</ span > T scale)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00627" ></ a >< span class = "lineno" > 627</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00628" ></ a >< span class = "lineno" > 628</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > (</ div >
< div class = "line" >< a name = "l00629" ></ a >< span class = "lineno" > 629</ span >   x / scale,</ div >
< div class = "line" >< a name = "l00630" ></ a >< span class = "lineno" > 630</ span >   y / scale,</ div >
< div class = "line" >< a name = "l00631" ></ a >< span class = "lineno" > 631</ span >   z / scale</ div >
< div class = "line" >< a name = "l00632" ></ a >< span class = "lineno" > 632</ span >   );</ div >
< div class = "line" >< a name = "l00633" ></ a >< span class = "lineno" > 633</ span >   }</ div >
< div class = "line" >< a name = "l00634" ></ a >< span class = "lineno" > 634</ span >   </ div >
< div class = "line" >< a name = "l00635" ></ a >< span class = "lineno" > 635</ span >   </ div >
< div class = "line" >< a name = "l00636" ></ a >< span class = "lineno" > 636</ span >   </ div >
< div class = "line" >< a name = "l00637" ></ a >< span class = "lineno" > 637</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator/=</ a > (< span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > scale)</ div >
< div class = "line" >< a name = "l00638" ></ a >< span class = "lineno" > 638</ span >   {</ div >
< div class = "line" >< a name = "l00639" ></ a >< span class = "lineno" > 639</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00640" ></ a >< span class = "lineno" > 640</ span >   </ div >
< div class = "line" >< a name = "l00641" ></ a >< span class = "lineno" > 641</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00642" ></ a >< span class = "lineno" > 642</ span >   __m256d __vector_self = _mm256_set_pd(0, z, y, x);</ div >
< div class = "line" >< a name = "l00643" ></ a >< span class = "lineno" > 643</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00644" ></ a >< span class = "lineno" > 644</ span >   </ div >
< div class = "line" >< a name = "l00645" ></ a >< span class = "lineno" > 645</ span >   < span class = "comment" > // Divide the components</ span ></ div >
< div class = "line" >< a name = "l00646" ></ a >< span class = "lineno" > 646</ span >   __m256d __prod = _mm256_div_pd(__vector_self, __scalar);</ div >
< div class = "line" >< a name = "l00647" ></ a >< span class = "lineno" > 647</ span >   </ div >
< div class = "line" >< a name = "l00648" ></ a >< span class = "lineno" > 648</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00649" ></ a >< span class = "lineno" > 649</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00650" ></ a >< span class = "lineno" > 650</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00651" ></ a >< span class = "lineno" > 651</ span >   </ div >
< div class = "line" >< a name = "l00652" ></ a >< span class = "lineno" > 652</ span >   x = prod[0];</ div >
< div class = "line" >< a name = "l00653" ></ a >< span class = "lineno" > 653</ span >   y = prod[1];</ div >
< div class = "line" >< a name = "l00654" ></ a >< span class = "lineno" > 654</ span >   z = prod[2];</ div >
< div class = "line" >< a name = "l00655" ></ a >< span class = "lineno" > 655</ span >   </ div >
< div class = "line" >< a name = "l00656" ></ a >< span class = "lineno" > 656</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00657" ></ a >< span class = "lineno" > 657</ span >   </ div >
< div class = "line" >< a name = "l00658" ></ a >< span class = "lineno" > 658</ span >   x /= scale;</ div >
< div class = "line" >< a name = "l00659" ></ a >< span class = "lineno" > 659</ span >   y /= scale;</ div >
< div class = "line" >< a name = "l00660" ></ a >< span class = "lineno" > 660</ span >   z /= scale;</ div >
< div class = "line" >< a name = "l00661" ></ a >< span class = "lineno" > 661</ span >   </ div >
< div class = "line" >< a name = "l00662" ></ a >< span class = "lineno" > 662</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00663" ></ a >< span class = "lineno" > 663</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00664" ></ a >< span class = "lineno" > 664</ span >   }</ div >
< div class = "line" >< a name = "l00665" ></ a >< span class = "lineno" > 665</ span >   </ div >
< div class = "line" >< a name = "l00666" ></ a >< span class = "lineno" > 666</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00667" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a69f00f05eda60630d48499067297e431" > 667</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator/=</ a > (< span class = "keyword" > const</ span > T scale)</ div >
< div class = "line" >< a name = "l00668" ></ a >< span class = "lineno" > 668</ span >   {</ div >
< div class = "line" >< a name = "l00669" ></ a >< span class = "lineno" > 669</ span >   x /= scale;</ div >
< div class = "line" >< a name = "l00670" ></ a >< span class = "lineno" > 670</ span >   y /= scale;</ div >
< div class = "line" >< a name = "l00671" ></ a >< span class = "lineno" > 671</ span >   z /= scale;</ div >
< div class = "line" >< a name = "l00672" ></ a >< span class = "lineno" > 672</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00673" ></ a >< span class = "lineno" > 673</ span >   }</ div >
< div class = "line" >< a name = "l00674" ></ a >< span class = "lineno" > 674</ span >   </ div >
< div class = "line" >< a name = "l00675" ></ a >< span class = "lineno" > 675</ span >   </ div >
< div class = "line" >< a name = "l00676" ></ a >< span class = "lineno" > 676</ span >   </ div >
< div class = "line" >< a name = "l00677" ></ a >< span class = "lineno" > 677</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00678" ></ a >< span class = "lineno" > 678</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator*</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a > & mat)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00679" ></ a >< span class = "lineno" > 679</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00680" ></ a >< span class = "lineno" > 680</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > newVec;</ div >
< div class = "line" >< a name = "l00681" ></ a >< span class = "lineno" > 681</ span >   </ div >
< div class = "line" >< a name = "l00682" ></ a >< span class = "lineno" > 682</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00683" ></ a >< span class = "lineno" > 683</ span >   < span class = "comment" > // Store x, y, and z values</ span ></ div >
< div class = "line" >< a name = "l00684" ></ a >< span class = "lineno" > 684</ span >   __m256d __vecx = _mm256_set1_pd(x);</ div >
< div class = "line" >< a name = "l00685" ></ a >< span class = "lineno" > 685</ span >   __m256d __vecy = _mm256_set1_pd(y);</ div >
< div class = "line" >< a name = "l00686" ></ a >< span class = "lineno" > 686</ span >   __m256d __vecz = _mm256_set1_pd(z);</ div >
< div class = "line" >< a name = "l00687" ></ a >< span class = "lineno" > 687</ span >   </ div >
< div class = "line" >< a name = "l00688" ></ a >< span class = "lineno" > 688</ span >   < span class = "comment" > // Store matrix values</ span ></ div >
< div class = "line" >< a name = "l00689" ></ a >< span class = "lineno" > 689</ span >   __m256d __mat_row0 = _mm256_set_pd(mat[0][0], mat[1][0], mat[2][0], 0);</ div >
< div class = "line" >< a name = "l00690" ></ a >< span class = "lineno" > 690</ span >   __m256d __mat_row1 = _mm256_set_pd(mat[0][1], mat[1][1], mat[2][1], 0);</ div >
< div class = "line" >< a name = "l00691" ></ a >< span class = "lineno" > 691</ span >   __m256d __mat_row2 = _mm256_set_pd(mat[0][2], mat[1][2], mat[2][2], 0);</ div >
< div class = "line" >< a name = "l00692" ></ a >< span class = "lineno" > 692</ span >   </ div >
< div class = "line" >< a name = "l00693" ></ a >< span class = "lineno" > 693</ span >   < span class = "comment" > // Multiply x, y, z and matrix values</ span ></ div >
< div class = "line" >< a name = "l00694" ></ a >< span class = "lineno" > 694</ span >   __m256d __mul_vecx_row0 = _mm256_mul_pd(__vecx, __mat_row0);</ div >
< div class = "line" >< a name = "l00695" ></ a >< span class = "lineno" > 695</ span >   __m256d __mul_vecy_row1 = _mm256_mul_pd(__vecy, __mat_row1);</ div >
< div class = "line" >< a name = "l00696" ></ a >< span class = "lineno" > 696</ span >   __m256d __mul_vecz_row2 = _mm256_mul_pd(__vecz, __mat_row2);</ div >
< div class = "line" >< a name = "l00697" ></ a >< span class = "lineno" > 697</ span >   </ div >
< div class = "line" >< a name = "l00698" ></ a >< span class = "lineno" > 698</ span >   < span class = "comment" > // Sum up the products</ span ></ div >
< div class = "line" >< a name = "l00699" ></ a >< span class = "lineno" > 699</ span >   __m256d __sum = _mm256_add_pd(__mul_vecx_row0, _mm256_add_pd(__mul_vecy_row1, __mul_vecz_row2));</ div >
< div class = "line" >< a name = "l00700" ></ a >< span class = "lineno" > 700</ span >   </ div >
< div class = "line" >< a name = "l00701" ></ a >< span class = "lineno" > 701</ span >   < span class = "comment" > // Store translation values</ span ></ div >
< div class = "line" >< a name = "l00702" ></ a >< span class = "lineno" > 702</ span >   __m256d __translation = _mm256_set_pd(mat[0][3], mat[1][3], mat[2][3], 0);</ div >
< div class = "line" >< a name = "l00703" ></ a >< span class = "lineno" > 703</ span >   </ div >
< div class = "line" >< a name = "l00704" ></ a >< span class = "lineno" > 704</ span >   < span class = "comment" > // Add the translation values</ span ></ div >
< div class = "line" >< a name = "l00705" ></ a >< span class = "lineno" > 705</ span >   __m256d __final = _mm256_add_pd(__sum, __translation);</ div >
< div class = "line" >< a name = "l00706" ></ a >< span class = "lineno" > 706</ span >   </ div >
< div class = "line" >< a name = "l00707" ></ a >< span class = "lineno" > 707</ span >   < span class = "keywordtype" > double</ span > dfinal[4];</ div >
< div class = "line" >< a name = "l00708" ></ a >< span class = "lineno" > 708</ span >   </ div >
< div class = "line" >< a name = "l00709" ></ a >< span class = "lineno" > 709</ span >   _mm256_storeu_pd(dfinal, __final);</ div >
< div class = "line" >< a name = "l00710" ></ a >< span class = "lineno" > 710</ span >   </ div >
< div class = "line" >< a name = "l00711" ></ a >< span class = "lineno" > 711</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = dfinal[3];</ div >
< div class = "line" >< a name = "l00712" ></ a >< span class = "lineno" > 712</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = dfinal[2];</ div >
< div class = "line" >< a name = "l00713" ></ a >< span class = "lineno" > 713</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = dfinal[1];</ div >
< div class = "line" >< a name = "l00714" ></ a >< span class = "lineno" > 714</ span >   </ div >
< div class = "line" >< a name = "l00715" ></ a >< span class = "lineno" > 715</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00716" ></ a >< span class = "lineno" > 716</ span >   < span class = "comment" > // Rotation, Scaling</ span ></ div >
< div class = "line" >< a name = "l00717" ></ a >< span class = "lineno" > 717</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = (mat[0][0] * x) + (mat[1][0] * y) + (mat[2][0] * z);</ div >
< div class = "line" >< a name = "l00718" ></ a >< span class = "lineno" > 718</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = (mat[0][1] * x) + (mat[1][1] * y) + (mat[2][1] * z);</ div >
< div class = "line" >< a name = "l00719" ></ a >< span class = "lineno" > 719</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = (mat[0][2] * x) + (mat[1][2] * y) + (mat[2][2] * z);</ div >
< div class = "line" >< a name = "l00720" ></ a >< span class = "lineno" > 720</ span >   </ div >
< div class = "line" >< a name = "l00721" ></ a >< span class = "lineno" > 721</ span >   < span class = "comment" > // Translation</ span ></ div >
< div class = "line" >< a name = "l00722" ></ a >< span class = "lineno" > 722</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > += mat[0][3];</ div >
< div class = "line" >< a name = "l00723" ></ a >< span class = "lineno" > 723</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > += mat[1][3];</ div >
< div class = "line" >< a name = "l00724" ></ a >< span class = "lineno" > 724</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > += mat[2][3];</ div >
< div class = "line" >< a name = "l00725" ></ a >< span class = "lineno" > 725</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00726" ></ a >< span class = "lineno" > 726</ span >   </ div >
< div class = "line" >< a name = "l00727" ></ a >< span class = "lineno" > 727</ span >   < span class = "keywordflow" > return</ span > newVec;</ div >
< div class = "line" >< a name = "l00728" ></ a >< span class = "lineno" > 728</ span >   }</ div >
< div class = "line" >< a name = "l00729" ></ a >< span class = "lineno" > 729</ span >   </ div >
< div class = "line" >< a name = "l00730" ></ a >< span class = "lineno" > 730</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00731" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#ab7148d41a5184ee4e2948cfdc5eb53f5" > 731</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::operator*</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a > & mat)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00732" ></ a >< span class = "lineno" > 732</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00733" ></ a >< span class = "lineno" > 733</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > newVec;</ div >
< div class = "line" >< a name = "l00734" ></ a >< span class = "lineno" > 734</ span >   </ div >
< div class = "line" >< a name = "l00735" ></ a >< span class = "lineno" > 735</ span >   < span class = "comment" > // Rotation, Scaling</ span ></ div >
< div class = "line" >< a name = "l00736" ></ a >< span class = "lineno" > 736</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > = ((mat[0][0] * x) + (mat[1][0] * y) + (mat[2][0] * z));</ div >
< div class = "line" >< a name = "l00737" ></ a >< span class = "lineno" > 737</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > = ((mat[0][1] * x) + (mat[1][1] * y) + (mat[2][1] * z));</ div >
< div class = "line" >< a name = "l00738" ></ a >< span class = "lineno" > 738</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > = ((mat[0][2] * x) + (mat[1][2] * y) + (mat[2][2] * z));</ div >
< div class = "line" >< a name = "l00739" ></ a >< span class = "lineno" > 739</ span >   </ div >
< div class = "line" >< a name = "l00740" ></ a >< span class = "lineno" > 740</ span >   < span class = "comment" > // Translation</ span ></ div >
< div class = "line" >< a name = "l00741" ></ a >< span class = "lineno" > 741</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > += mat[0][3];</ div >
< div class = "line" >< a name = "l00742" ></ a >< span class = "lineno" > 742</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > += mat[1][3];</ div >
< div class = "line" >< a name = "l00743" ></ a >< span class = "lineno" > 743</ span >   newVec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > += mat[2][3];</ div >
< div class = "line" >< a name = "l00744" ></ a >< span class = "lineno" > 744</ span >   </ div >
< div class = "line" >< a name = "l00745" ></ a >< span class = "lineno" > 745</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > (</ div >
< div class = "line" >< a name = "l00746" ></ a >< span class = "lineno" > 746</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ,</ div >
< div class = "line" >< a name = "l00747" ></ a >< span class = "lineno" > 747</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ,</ div >
< div class = "line" >< a name = "l00748" ></ a >< span class = "lineno" > 748</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a ></ div >
< div class = "line" >< a name = "l00749" ></ a >< span class = "lineno" > 749</ span >   );</ div >
< div class = "line" >< a name = "l00750" ></ a >< span class = "lineno" > 750</ span >   }</ div >
< div class = "line" >< a name = "l00751" ></ a >< span class = "lineno" > 751</ span >   </ div >
< div class = "line" >< a name = "l00752" ></ a >< span class = "lineno" > 752</ span >   </ div >
< div class = "line" >< a name = "l00753" ></ a >< span class = "lineno" > 753</ span >   </ div >
< div class = "line" >< a name = "l00754" ></ a >< span class = "lineno" > 754</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00755" ></ a >< span class = "lineno" > 755</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> ::operator*=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a > & mat)</ div >
< div class = "line" >< a name = "l00756" ></ a >< span class = "lineno" > 756</ span >   {</ div >
< div class = "line" >< a name = "l00757" ></ a >< span class = "lineno" > 757</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00758" ></ a >< span class = "lineno" > 758</ span >   < span class = "comment" > // Store x, y, and z values</ span ></ div >
< div class = "line" >< a name = "l00759" ></ a >< span class = "lineno" > 759</ span >   __m256d __vecx = _mm256_set1_pd(x);</ div >
< div class = "line" >< a name = "l00760" ></ a >< span class = "lineno" > 760</ span >   __m256d __vecy = _mm256_set1_pd(y);</ div >
< div class = "line" >< a name = "l00761" ></ a >< span class = "lineno" > 761</ span >   __m256d __vecz = _mm256_set1_pd(z);</ div >
< div class = "line" >< a name = "l00762" ></ a >< span class = "lineno" > 762</ span >   </ div >
< div class = "line" >< a name = "l00763" ></ a >< span class = "lineno" > 763</ span >   < span class = "comment" > // Store matrix values</ span ></ div >
< div class = "line" >< a name = "l00764" ></ a >< span class = "lineno" > 764</ span >   __m256d __mat_row0 = _mm256_set_pd(mat[0][0], mat[1][0], mat[2][0], 0);</ div >
< div class = "line" >< a name = "l00765" ></ a >< span class = "lineno" > 765</ span >   __m256d __mat_row1 = _mm256_set_pd(mat[0][1], mat[1][1], mat[2][1], 0);</ div >
< div class = "line" >< a name = "l00766" ></ a >< span class = "lineno" > 766</ span >   __m256d __mat_row2 = _mm256_set_pd(mat[0][2], mat[1][2], mat[2][2], 0);</ div >
< div class = "line" >< a name = "l00767" ></ a >< span class = "lineno" > 767</ span >   </ div >
< div class = "line" >< a name = "l00768" ></ a >< span class = "lineno" > 768</ span >   < span class = "comment" > // Multiply x, y, z and matrix values</ span ></ div >
< div class = "line" >< a name = "l00769" ></ a >< span class = "lineno" > 769</ span >   __m256d __mul_vecx_row0 = _mm256_mul_pd(__vecx, __mat_row0);</ div >
< div class = "line" >< a name = "l00770" ></ a >< span class = "lineno" > 770</ span >   __m256d __mul_vecy_row1 = _mm256_mul_pd(__vecy, __mat_row1);</ div >
< div class = "line" >< a name = "l00771" ></ a >< span class = "lineno" > 771</ span >   __m256d __mul_vecz_row2 = _mm256_mul_pd(__vecz, __mat_row2);</ div >
< div class = "line" >< a name = "l00772" ></ a >< span class = "lineno" > 772</ span >   </ div >
< div class = "line" >< a name = "l00773" ></ a >< span class = "lineno" > 773</ span >   < span class = "comment" > // Sum up the products</ span ></ div >
< div class = "line" >< a name = "l00774" ></ a >< span class = "lineno" > 774</ span >   __m256d __sum = _mm256_add_pd(__mul_vecx_row0, _mm256_add_pd(__mul_vecy_row1, __mul_vecz_row2));</ div >
< div class = "line" >< a name = "l00775" ></ a >< span class = "lineno" > 775</ span >   </ div >
< div class = "line" >< a name = "l00776" ></ a >< span class = "lineno" > 776</ span >   < span class = "comment" > // Store translation values</ span ></ div >
< div class = "line" >< a name = "l00777" ></ a >< span class = "lineno" > 777</ span >   __m256d __translation = _mm256_set_pd(mat[0][3], mat[1][3], mat[2][3], 0);</ div >
< div class = "line" >< a name = "l00778" ></ a >< span class = "lineno" > 778</ span >   </ div >
< div class = "line" >< a name = "l00779" ></ a >< span class = "lineno" > 779</ span >   < span class = "comment" > // Add the translation values</ span ></ div >
< div class = "line" >< a name = "l00780" ></ a >< span class = "lineno" > 780</ span >   __m256d __final = _mm256_add_pd(__sum, __translation);</ div >
< div class = "line" >< a name = "l00781" ></ a >< span class = "lineno" > 781</ span >   </ div >
< div class = "line" >< a name = "l00782" ></ a >< span class = "lineno" > 782</ span >   < span class = "keywordtype" > double</ span > dfinal[4];</ div >
< div class = "line" >< a name = "l00783" ></ a >< span class = "lineno" > 783</ span >   </ div >
< div class = "line" >< a name = "l00784" ></ a >< span class = "lineno" > 784</ span >   _mm256_storeu_pd(dfinal, __final);</ div >
< div class = "line" >< a name = "l00785" ></ a >< span class = "lineno" > 785</ span >   </ div >
< div class = "line" >< a name = "l00786" ></ a >< span class = "lineno" > 786</ span >   x = dfinal[3];</ div >
< div class = "line" >< a name = "l00787" ></ a >< span class = "lineno" > 787</ span >   y = dfinal[2];</ div >
< div class = "line" >< a name = "l00788" ></ a >< span class = "lineno" > 788</ span >   z = dfinal[1];</ div >
< div class = "line" >< a name = "l00789" ></ a >< span class = "lineno" > 789</ span >   </ div >
< div class = "line" >< a name = "l00790" ></ a >< span class = "lineno" > 790</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00791" ></ a >< span class = "lineno" > 791</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > buffer = *< span class = "keyword" > this</ span > ;</ div >
< div class = "line" >< a name = "l00792" ></ a >< span class = "lineno" > 792</ span >   x = (mat[0][0] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (mat[0][1] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (mat[0][2] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00793" ></ a >< span class = "lineno" > 793</ span >   y = (mat[1][0] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (mat[1][1] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (mat[1][2] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00794" ></ a >< span class = "lineno" > 794</ span >   z = (mat[2][0] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (mat[2][1] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (mat[2][2] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00795" ></ a >< span class = "lineno" > 795</ span >   </ div >
< div class = "line" >< a name = "l00796" ></ a >< span class = "lineno" > 796</ span >   < span class = "comment" > // Translation</ span ></ div >
< div class = "line" >< a name = "l00797" ></ a >< span class = "lineno" > 797</ span >   x += mat[0][3];</ div >
< div class = "line" >< a name = "l00798" ></ a >< span class = "lineno" > 798</ span >   y += mat[1][3];</ div >
< div class = "line" >< a name = "l00799" ></ a >< span class = "lineno" > 799</ span >   z += mat[2][3];</ div >
< div class = "line" >< a name = "l00800" ></ a >< span class = "lineno" > 800</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00801" ></ a >< span class = "lineno" > 801</ span >   </ div >
< div class = "line" >< a name = "l00802" ></ a >< span class = "lineno" > 802</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00803" ></ a >< span class = "lineno" > 803</ span >   }</ div >
< div class = "line" >< a name = "l00804" ></ a >< span class = "lineno" > 804</ span >   </ div >
< div class = "line" >< a name = "l00805" ></ a >< span class = "lineno" > 805</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00806" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a11f2449516a8787f4cce227f12ae2f03" > 806</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator-</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00807" ></ a >< span class = "lineno" > 807</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00808" ></ a >< span class = "lineno" > 808</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > (</ div >
< div class = "line" >< a name = "l00809" ></ a >< span class = "lineno" > 809</ span >   -x,</ div >
< div class = "line" >< a name = "l00810" ></ a >< span class = "lineno" > 810</ span >   -y,</ div >
< div class = "line" >< a name = "l00811" ></ a >< span class = "lineno" > 811</ span >   -z</ div >
< div class = "line" >< a name = "l00812" ></ a >< span class = "lineno" > 812</ span >   );</ div >
< div class = "line" >< a name = "l00813" ></ a >< span class = "lineno" > 813</ span >   }</ div >
< div class = "line" >< a name = "l00814" ></ a >< span class = "lineno" > 814</ span >   </ div >
< div class = "line" >< a name = "l00815" ></ a >< span class = "lineno" > 815</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00816" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a9e725f7a3bf0fb822acf9418dc950ad5" > 816</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)</ div >
< div class = "line" >< a name = "l00817" ></ a >< span class = "lineno" > 817</ span >   {</ div >
< div class = "line" >< a name = "l00818" ></ a >< span class = "lineno" > 818</ span >   x = other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ;</ div >
< div class = "line" >< a name = "l00819" ></ a >< span class = "lineno" > 819</ span >   y = other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ;</ div >
< div class = "line" >< a name = "l00820" ></ a >< span class = "lineno" > 820</ span >   z = other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ;</ div >
< div class = "line" >< a name = "l00821" ></ a >< span class = "lineno" > 821</ span >   </ div >
< div class = "line" >< a name = "l00822" ></ a >< span class = "lineno" > 822</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00823" ></ a >< span class = "lineno" > 823</ span >   }</ div >
< div class = "line" >< a name = "l00824" ></ a >< span class = "lineno" > 824</ span >   </ div >
< div class = "line" >< a name = "l00825" ></ a >< span class = "lineno" > 825</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00826" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a68cd4f7804a47455d5a5af9cc6b66e38" > 826</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator=</ a > (< a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > && other) noexcept</ div >
< div class = "line" >< a name = "l00827" ></ a >< span class = "lineno" > 827</ span >   {</ div >
< div class = "line" >< a name = "l00828" ></ a >< span class = "lineno" > 828</ span >   x = std::move(other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > );</ div >
< div class = "line" >< a name = "l00829" ></ a >< span class = "lineno" > 829</ span >   y = std::move(other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > );</ div >
< div class = "line" >< a name = "l00830" ></ a >< span class = "lineno" > 830</ span >   z = std::move(other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00831" ></ a >< span class = "lineno" > 831</ span >   </ div >
< div class = "line" >< a name = "l00832" ></ a >< span class = "lineno" > 832</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00833" ></ a >< span class = "lineno" > 833</ span >   }</ div >
< div class = "line" >< a name = "l00834" ></ a >< span class = "lineno" > 834</ span >   </ div >
< div class = "line" >< a name = "l00835" ></ a >< span class = "lineno" > 835</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00836" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a2c3254704c4bf900277d2205f55f4157" > 836</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> ::operator*=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Matrix4x4.html" > Matrix4x4</ a > & mat)</ div >
< div class = "line" >< a name = "l00837" ></ a >< span class = "lineno" > 837</ span >   {</ div >
< div class = "line" >< a name = "l00838" ></ a >< span class = "lineno" > 838</ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > buffer(x, y, z);</ div >
< div class = "line" >< a name = "l00839" ></ a >< span class = "lineno" > 839</ span >   </ div >
< div class = "line" >< a name = "l00840" ></ a >< span class = "lineno" > 840</ span >   x = (int)((mat[0][0] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (mat[0][1] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (mat[0][2] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ));</ div >
< div class = "line" >< a name = "l00841" ></ a >< span class = "lineno" > 841</ span >   y = (int)((mat[1][0] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (mat[1][1] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (mat[1][2] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ));</ div >
< div class = "line" >< a name = "l00842" ></ a >< span class = "lineno" > 842</ span >   z = (int)((mat[2][0] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) + (mat[2][1] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) + (mat[2][2] * buffer.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > ));</ div >
< div class = "line" >< a name = "l00843" ></ a >< span class = "lineno" > 843</ span >   </ div >
< div class = "line" >< a name = "l00844" ></ a >< span class = "lineno" > 844</ span >   < span class = "comment" > // Translation</ span ></ div >
< div class = "line" >< a name = "l00845" ></ a >< span class = "lineno" > 845</ span >   x += (int)mat[0][3];</ div >
< div class = "line" >< a name = "l00846" ></ a >< span class = "lineno" > 846</ span >   y += (int)mat[1][3];</ div >
< div class = "line" >< a name = "l00847" ></ a >< span class = "lineno" > 847</ span >   z += (int)mat[2][3];</ div >
< div class = "line" >< a name = "l00848" ></ a >< span class = "lineno" > 848</ span >   </ div >
< div class = "line" >< a name = "l00849" ></ a >< span class = "lineno" > 849</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00850" ></ a >< span class = "lineno" > 850</ span >   }</ div >
< div class = "line" >< a name = "l00851" ></ a >< span class = "lineno" > 851</ span >   </ div >
< div class = "line" >< a name = "l00852" ></ a >< span class = "lineno" > 852</ span >   </ div >
< div class = "line" >< a name = "l00853" ></ a >< span class = "lineno" > 853</ span >   </ div >
< div class = "line" >< a name = "l00854" ></ a >< span class = "lineno" > 854</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00855" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a8619be9756e498c50158c5dac275262e" > 855</ a ></ span >   < span class = "keywordtype" > bool</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator==</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00856" ></ a >< span class = "lineno" > 856</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00857" ></ a >< span class = "lineno" > 857</ span >   < span class = "keywordflow" > return</ span ></ div >
< div class = "line" >< a name = "l00858" ></ a >< span class = "lineno" > 858</ span >   (x == other.< a class = "code" href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > x</ a > ) && </ div >
< div class = "line" >< a name = "l00859" ></ a >< span class = "lineno" > 859</ span >   (y == other.< a class = "code" href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > y</ a > ) && </ div >
< div class = "line" >< a name = "l00860" ></ a >< span class = "lineno" > 860</ span >   (z == other.< a class = "code" href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > z</ a > );</ div >
< div class = "line" >< a name = "l00861" ></ a >< span class = "lineno" > 861</ span >   }</ div >
< div class = "line" >< a name = "l00862" ></ a >< span class = "lineno" > 862</ span >   </ div >
< div class = "line" >< a name = "l00863" ></ a >< span class = "lineno" > 863</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00864" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#ad71e5d9e7c46e63d226c180a2d8c0beb" > 864</ a ></ span >   < span class = "keywordtype" > bool</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator!=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00865" ></ a >< span class = "lineno" > 865</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00866" ></ a >< span class = "lineno" > 866</ span >   < span class = "keywordflow" > return</ span > !operator==(other);</ div >
< div class = "line" >< a name = "l00867" ></ a >< span class = "lineno" > 867</ span >   }</ div >
< div class = "line" >< a name = "l00868" ></ a >< span class = "lineno" > 868</ span >   </ div >
< div class = "line" >< a name = "l00869" ></ a >< span class = "lineno" > 869</ span >   </ div >
< div class = "line" >< a name = "l00870" ></ a >< span class = "lineno" > 870</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "Vector2_8h.html" > Vector2.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00871" ></ a >< span class = "lineno" > 871</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "Vector4_8h.html" > Vector4.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00872" ></ a >< span class = "lineno" > 872</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00873" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a0bdcd7104775000964029ef94e8a3b6a" > 873</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator</ a > < a class = "code" href = "classEule_1_1Vector2.html" > Vector2< T> </ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00874" ></ a >< span class = "lineno" > 874</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00875" ></ a >< span class = "lineno" > 875</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector2.html" > Vector2< T> </ a > (x, y);</ div >
< div class = "line" >< a name = "l00876" ></ a >< span class = "lineno" > 876</ span >   }</ div >
< div class = "line" >< a name = "l00877" ></ a >< span class = "lineno" > 877</ span >   </ div >
< div class = "line" >< a name = "l00878" ></ a >< span class = "lineno" > 878</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00879" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector3.html#a67d1daadee40fbaada3b5c3b4b4b7e79" > 879</ a ></ span >   < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::operator</ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00880" ></ a >< span class = "lineno" > 880</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00881" ></ a >< span class = "lineno" > 881</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > (x, y, z, 0);</ div >
< div class = "line" >< a name = "l00882" ></ a >< span class = "lineno" > 882</ span >   }</ div >
< div class = "line" >< a name = "l00883" ></ a >< span class = "lineno" > 883</ span >   </ div >
< div class = "line" >< a name = "l00884" ></ a >< span class = "lineno" > 884</ span >   < span class = "keyword" > template</ span > < span class = "keyword" > class </ span >< a class = "code" href = "classEule_1_1Vector3.html" > Vector3< int> </ a > ;</ div >
< div class = "line" >< a name = "l00885" ></ a >< span class = "lineno" > 885</ span >   < span class = "keyword" > template</ span > < span class = "keyword" > class </ span >< a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > ;</ div >
< div class = "line" >< a name = "l00886" ></ a >< span class = "lineno" > 886</ span >   </ div >
< div class = "line" >< a name = "l00887" ></ a >< span class = "lineno" > 887</ span >   < span class = "comment" > // Some handy predefines</ span ></ div >
< div class = "line" >< a name = "l00888" ></ a >< span class = "lineno" > 888</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00889" ></ a >< span class = "lineno" > 889</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::up</ a > (0, 1, 0);</ div >
< div class = "line" >< a name = "l00890" ></ a >< span class = "lineno" > 890</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00891" ></ a >< span class = "lineno" > 891</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::down</ a > (0, -1, 0);</ div >
< div class = "line" >< a name = "l00892" ></ a >< span class = "lineno" > 892</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00893" ></ a >< span class = "lineno" > 893</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::right</ a > (1, 0, 0);</ div >
< div class = "line" >< a name = "l00894" ></ a >< span class = "lineno" > 894</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00895" ></ a >< span class = "lineno" > 895</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::left</ a > (-1, 0, 0);</ div >
< div class = "line" >< a name = "l00896" ></ a >< span class = "lineno" > 896</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00897" ></ a >< span class = "lineno" > 897</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::forward</ a > (0, 0, 1);</ div >
< div class = "line" >< a name = "l00898" ></ a >< span class = "lineno" > 898</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00899" ></ a >< span class = "lineno" > 899</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::backward</ a > (0, 0, -1);</ div >
< div class = "line" >< a name = "l00900" ></ a >< span class = "lineno" > 900</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00901" ></ a >< span class = "lineno" > 901</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::one</ a > (1, 1, 1);</ div >
< div class = "line" >< a name = "l00902" ></ a >< span class = "lineno" > 902</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00903" ></ a >< span class = "lineno" > 903</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< double> </ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> ::zero</ a > (0, 0, 0);</ div >
</ div > <!-- fragment --> </ div > <!-- contents -->
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a8fb48e9a527d5e6fadb3b3102fa8f4c3" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a8fb48e9a527d5e6fadb3b3102fa8f4c3" > Eule::Vector3::LerpSelf</ a ></ div >< div class = "ttdeci" > void LerpSelf(const Vector3< T > & other, double t)</ div >< div class = "ttdoc" > Will lerp itself towards other by t.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8cpp_source.html#l00311" > Vector3.cpp:311</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html" > Eule::Vector3< double > </ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a04560b5fa992b7fa455fc4d406928df8" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a04560b5fa992b7fa455fc4d406928df8" > Eule::Vector3::ToDouble</ a ></ div >< div class = "ttdeci" > Vector3< double > ToDouble() const</ div >< div class = "ttdoc" > Will convert this vector to a Vector3d.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8cpp_source.html#l00229" > Vector3.cpp:229</ a ></ div ></ div >
< div class = "ttc" id = "aMath_8h_html" >< div class = "ttname" >< a href = "Math_8h.html" > Math.h</ a ></ div ></ div >
< div class = "ttc" id = "aVector2_8h_html" >< div class = "ttname" >< a href = "Vector2_8h.html" > Vector2.h</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a754b1a46c44a0fde99e670e174dba674" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a754b1a46c44a0fde99e670e174dba674" > Eule::Vector3::z</ a ></ div >< div class = "ttdeci" > T z</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8h_source.html#l00096" > Vector3.h:96</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Matrix4x4_html" >< div class = "ttname" >< a href = "classEule_1_1Matrix4x4.html" > Eule::Matrix4x4</ a ></ div >< div class = "ttdoc" > A matrix 4x4 class representing a 3d transformation.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00036" > Matrix4x4.h:36</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a3d7770a583354b1dfc2f6af1092adc1b" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a3d7770a583354b1dfc2f6af1092adc1b" > Eule::Vector3::x</ a ></ div >< div class = "ttdeci" > T x</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8h_source.html#l00094" > Vector3.h:94</ a ></ div ></ div >
< div class = "ttc" id = "aVector4_8h_html" >< div class = "ttname" >< a href = "Vector4_8h.html" > Vector4.h</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector2_html" >< div class = "ttname" >< a href = "classEule_1_1Vector2.html" > Eule::Vector2</ a ></ div >< div class = "ttdoc" > Representation of a 2d vector.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector2_8h_source.html#l00014" > Vector2.h:14</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a6cbc1516e045c0334f8bf8a1dcd6ca91" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a6cbc1516e045c0334f8bf8a1dcd6ca91" > Eule::Vector3::DotProduct</ a ></ div >< div class = "ttdeci" > double DotProduct(const Vector3< T > & other) const</ div >< div class = "ttdoc" > Will compute the dot product to another Vector3.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8cpp_source.html#l00048" > Vector3.cpp:48</ a ></ div ></ div >
< div class = "ttc" id = "aVector3_8h_html" >< div class = "ttname" >< a href = "Vector3_8h.html" > Vector3.h</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a69f80925d46f3630a2242b44ddb43a56" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a69f80925d46f3630a2242b44ddb43a56" > Eule::Vector3::NormalizeSelf</ a ></ div >< div class = "ttdeci" > void NormalizeSelf()</ div >< div class = "ttdoc" > Will normalize this vector.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8cpp_source.html#l00200" > Vector3.cpp:200</ a ></ div ></ div >
< div class = "ttc" id = "anamespaceEule_html" >< div class = "ttname" >< a href = "namespaceEule.html" > Eule</ a ></ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Collider_8h_source.html#l00004" > Collider.h:4</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html_a716e038c7b599bc5c741dfc0a3c42146" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html#a716e038c7b599bc5c741dfc0a3c42146" > Eule::Vector3::y</ a ></ div >< div class = "ttdeci" > T y</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector3_8h_source.html#l00095" > Vector3.h:95</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html" > Eule::Vector4</ a ></ div >< div class = "ttdoc" > Representation of a 4d vector.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector2_8h_source.html#l00008" > Vector2.h:8</ a ></ div ></ div >
<!-- start footer part -->
< hr class = "footer" />< address class = "footer" >< small >
2021-11-15 11:46:15 +01:00
Generated on Mon Nov 15 2021 11:45:52 for Leonetienne/Eule by   < a href = "http://www.doxygen.org/index.html" >
2021-11-15 11:35:45 +01:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" />
</ a > 1.8.17
</ small ></ address >
</ body >
</ html >