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/Vector4.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" > Vector4.cpp</ div > </ div >
</ div > <!--header-->
< div class = "contents" >
< a href = "Vector4_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 = "Vector4_8h.html" > Vector4.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_1Vector4.html#a2cd0433c99303b8934993b2fd2aa1c6e" > Vector4< double> ::SqrMagnitude</ a > ()< 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 = "keywordflow" > return</ span > (x * x) +</ div >
< div class = "line" >< a name = "l00025" ></ a >< span class = "lineno" > 25</ span >   (y * y) +</ div >
< div class = "line" >< a name = "l00026" ></ a >< span class = "lineno" > 26</ span >   (z * z) +</ div >
< div class = "line" >< a name = "l00027" ></ a >< span class = "lineno" > 27</ span >   (w * w);</ div >
< div class = "line" >< a name = "l00028" ></ a >< span class = "lineno" > 28</ span >   }</ 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" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00031" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a2cd0433c99303b8934993b2fd2aa1c6e" > 31</ a ></ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> ::SqrMagnitude</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00032" ></ a >< span class = "lineno" > 32</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00033" ></ a >< span class = "lineno" > 33</ span >   < span class = "keywordtype" > int</ span > iSqrMag = x*x + y*y + z*z + w*w;</ div >
< div class = "line" >< a name = "l00034" ></ a >< span class = "lineno" > 34</ span >   < span class = "keywordflow" > return</ span > (< span class = "keywordtype" > double</ span > )iSqrMag;</ div >
< div class = "line" >< a name = "l00035" ></ a >< span class = "lineno" > 35</ span >   }</ div >
< div class = "line" >< a name = "l00036" ></ a >< span class = "lineno" > 36</ span >   </ div >
< div class = "line" >< a name = "l00037" ></ a >< span class = "lineno" > 37</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00038" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a35c6fccb7a02095b595575903b590dd2" > 38</ a ></ span >   < span class = "keywordtype" > double</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::Magnitude</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00039" ></ a >< span class = "lineno" > 39</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00040" ></ a >< span class = "lineno" > 40</ span >   < span class = "keywordflow" > return</ span > sqrt(SqrMagnitude());</ div >
< div class = "line" >< a name = "l00041" ></ a >< span class = "lineno" > 41</ span >   }</ div >
< div class = "line" >< a name = "l00042" ></ a >< span class = "lineno" > 42</ span >   </ div >
< div class = "line" >< a name = "l00043" ></ a >< span class = "lineno" > 43</ span >   </ div >
< div class = "line" >< a name = "l00044" ></ a >< span class = "lineno" > 44</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::VectorScale</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & scalar)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00045" ></ a >< span class = "lineno" > 45</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00046" ></ a >< span class = "lineno" > 46</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00047" ></ a >< span class = "lineno" > 47</ span >   </ div >
< div class = "line" >< a name = "l00048" ></ a >< span class = "lineno" > 48</ span >   < span class = "comment" > // Load vectors into registers</ span ></ div >
< div class = "line" >< a name = "l00049" ></ a >< span class = "lineno" > 49</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00050" ></ a >< span class = "lineno" > 50</ span >   __m256d __vector_scalar = _mm256_set_pd(scalar.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , scalar.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , scalar.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , scalar.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00051" ></ a >< span class = "lineno" > 51</ span >   </ div >
< div class = "line" >< a name = "l00052" ></ a >< span class = "lineno" > 52</ span >   < span class = "comment" > // Multiply them</ span ></ div >
< div class = "line" >< a name = "l00053" ></ a >< span class = "lineno" > 53</ span >   __m256d __product = _mm256_mul_pd(__vector_self, __vector_scalar);</ 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 >   < span class = "comment" > // Retrieve result</ span ></ div >
< div class = "line" >< a name = "l00056" ></ a >< span class = "lineno" > 56</ span >   < span class = "keywordtype" > double</ span > result[4];</ div >
< div class = "line" >< a name = "l00057" ></ a >< span class = "lineno" > 57</ span >   _mm256_storeu_pd(result, __product);</ div >
< div class = "line" >< a name = "l00058" ></ a >< span class = "lineno" > 58</ span >   </ div >
< div class = "line" >< a name = "l00059" ></ a >< span class = "lineno" > 59</ span >   < span class = "comment" > // Return value</ span ></ div >
< div class = "line" >< a name = "l00060" ></ a >< span class = "lineno" > 60</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00061" ></ a >< span class = "lineno" > 61</ span >   result[0],</ div >
< div class = "line" >< a name = "l00062" ></ a >< span class = "lineno" > 62</ span >   result[1],</ div >
< div class = "line" >< a name = "l00063" ></ a >< span class = "lineno" > 63</ span >   result[2],</ div >
< div class = "line" >< a name = "l00064" ></ a >< span class = "lineno" > 64</ span >   result[3]</ 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 = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00068" ></ a >< span class = "lineno" > 68</ span >   </ div >
< div class = "line" >< a name = "l00069" ></ a >< span class = "lineno" > 69</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00070" ></ a >< span class = "lineno" > 70</ span >   x * scalar.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00071" ></ a >< span class = "lineno" > 71</ span >   y * scalar.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00072" ></ a >< span class = "lineno" > 72</ span >   z * scalar.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00073" ></ a >< span class = "lineno" > 73</ span >   w * scalar.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ 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 = "preprocessor" > #endif</ span ></ 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" >< a class = "line" href = "classEule_1_1Vector4.html#ae24537cb41abb4365a22fe3b07869b85" > 79</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> ::VectorScale</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > & scalar)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00080" ></ a >< span class = "lineno" > 80</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00081" ></ a >< span class = "lineno" > 81</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > (</ div >
< div class = "line" >< a name = "l00082" ></ a >< span class = "lineno" > 82</ span >   x * scalar.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00083" ></ a >< span class = "lineno" > 83</ span >   y * scalar.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00084" ></ a >< span class = "lineno" > 84</ span >   z * scalar.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00085" ></ a >< span class = "lineno" > 85</ span >   w * scalar.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a ></ 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 >   }</ div >
< div class = "line" >< a name = "l00088" ></ a >< span class = "lineno" > 88</ span >   </ div >
< div class = "line" >< a name = "l00089" ></ a >< span class = "lineno" > 89</ span >   </ div >
< div class = "line" >< a name = "l00090" ></ a >< span class = "lineno" > 90</ span >   </ div >
< div class = "line" >< a name = "l00091" ></ a >< span class = "lineno" > 91</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00092" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a3d10b51b1fe97661650b2991b29b67a7" > 92</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::Normalize</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00093" ></ a >< span class = "lineno" > 93</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00094" ></ a >< span class = "lineno" > 94</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > norm(x, y, z, w);</ div >
< div class = "line" >< a name = "l00095" ></ a >< span class = "lineno" > 95</ span >   norm.< a class = "code" href = "classEule_1_1Vector4.html#a98bea58a58b04357044f72afc905896d" > NormalizeSelf</ a > ();</ div >
< div class = "line" >< a name = "l00096" ></ a >< span class = "lineno" > 96</ span >   </ div >
< div class = "line" >< a name = "l00097" ></ a >< span class = "lineno" > 97</ span >   < span class = "keywordflow" > return</ span > norm;</ 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 >   < span class = "comment" > // Method to normalize a Vector43d</ span ></ div >
< div class = "line" >< a name = "l00101" ></ a >< span class = "lineno" > 101</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::NormalizeSelf</ a > ()</ div >
< div class = "line" >< a name = "l00102" ></ a >< span class = "lineno" > 102</ span >   {</ div >
< div class = "line" >< a name = "l00103" ></ a >< span class = "lineno" > 103</ span >   < span class = "keywordtype" > double</ span > length = Magnitude();</ div >
< div class = "line" >< a name = "l00104" ></ a >< span class = "lineno" > 104</ span >   </ div >
< div class = "line" >< a name = "l00105" ></ a >< span class = "lineno" > 105</ span >   < span class = "comment" > // Prevent division by 0</ span ></ div >
< div class = "line" >< a name = "l00106" ></ a >< span class = "lineno" > 106</ span >   < span class = "keywordflow" > if</ span > (length == 0)</ div >
< div class = "line" >< a name = "l00107" ></ a >< span class = "lineno" > 107</ span >   {</ div >
< div class = "line" >< a name = "l00108" ></ a >< span class = "lineno" > 108</ span >   x = 0;</ div >
< div class = "line" >< a name = "l00109" ></ a >< span class = "lineno" > 109</ span >   y = 0;</ div >
< div class = "line" >< a name = "l00110" ></ a >< span class = "lineno" > 110</ span >   z = 0;</ div >
< div class = "line" >< a name = "l00111" ></ a >< span class = "lineno" > 111</ span >   w = 0;</ 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 = "keywordflow" > else</ span ></ div >
< div class = "line" >< a name = "l00114" ></ a >< span class = "lineno" > 114</ span >   {</ div >
< div class = "line" >< a name = "l00115" ></ a >< span class = "lineno" > 115</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ 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" > // Load vector and length into registers</ span ></ div >
< div class = "line" >< a name = "l00118" ></ a >< span class = "lineno" > 118</ span >   __m256d __vec = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00119" ></ a >< span class = "lineno" > 119</ span >   __m256d __len = _mm256_set1_pd(length);</ div >
< div class = "line" >< a name = "l00120" ></ a >< span class = "lineno" > 120</ span >   </ div >
< div class = "line" >< a name = "l00121" ></ a >< span class = "lineno" > 121</ span >   < span class = "comment" > // Divide</ span ></ div >
< div class = "line" >< a name = "l00122" ></ a >< span class = "lineno" > 122</ span >   __m256d __prod = _mm256_div_pd(__vec, __len);</ 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 = "comment" > // Extract and set values</ span ></ div >
< div class = "line" >< a name = "l00125" ></ a >< span class = "lineno" > 125</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00126" ></ a >< span class = "lineno" > 126</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00127" ></ a >< span class = "lineno" > 127</ span >   </ div >
< div class = "line" >< a name = "l00128" ></ a >< span class = "lineno" > 128</ span >   x = prod[0];</ div >
< div class = "line" >< a name = "l00129" ></ a >< span class = "lineno" > 129</ span >   y = prod[1];</ div >
< div class = "line" >< a name = "l00130" ></ a >< span class = "lineno" > 130</ span >   z = prod[2];</ div >
< div class = "line" >< a name = "l00131" ></ a >< span class = "lineno" > 131</ span >   w = prod[3];</ div >
< div class = "line" >< a name = "l00132" ></ a >< span class = "lineno" > 132</ span >   </ div >
< div class = "line" >< a name = "l00133" ></ a >< span class = "lineno" > 133</ span >   < span class = "preprocessor" > #else</ 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" > 135</ span >   x /= length;</ div >
< div class = "line" >< a name = "l00136" ></ a >< span class = "lineno" > 136</ span >   y /= length;</ div >
< div class = "line" >< a name = "l00137" ></ a >< span class = "lineno" > 137</ span >   z /= length;</ div >
< div class = "line" >< a name = "l00138" ></ a >< span class = "lineno" > 138</ span >   w /= length;</ div >
< div class = "line" >< a name = "l00139" ></ a >< span class = "lineno" > 139</ span >   </ div >
< div class = "line" >< a name = "l00140" ></ a >< span class = "lineno" > 140</ span >   < span class = "preprocessor" > #endif</ span ></ 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 >   < span class = "keywordflow" > return</ 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 = "comment" > // You can' t normalize an int vector, ffs!</ span ></ div >
< div class = "line" >< a name = "l00147" ></ a >< span class = "lineno" > 147</ span >   < span class = "comment" > // But we need an implementation for T=int</ span ></ div >
< div class = "line" >< a name = "l00148" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a98bea58a58b04357044f72afc905896d" > 148</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> ::NormalizeSelf</ a > ()</ div >
< div class = "line" >< a name = "l00149" ></ a >< span class = "lineno" > 149</ span >   {</ div >
< div class = "line" >< a name = "l00150" ></ a >< span class = "lineno" > 150</ span >   std::cerr << < span class = "stringliteral" > " Stop normalizing int-vectors!!" </ span > << std::endl;</ div >
< div class = "line" >< a name = "l00151" ></ a >< span class = "lineno" > 151</ span >   x = 0;</ div >
< div class = "line" >< a name = "l00152" ></ a >< span class = "lineno" > 152</ span >   y = 0;</ div >
< div class = "line" >< a name = "l00153" ></ a >< span class = "lineno" > 153</ span >   z = 0;</ div >
< div class = "line" >< a name = "l00154" ></ a >< span class = "lineno" > 154</ span >   w = 0;</ div >
< div class = "line" >< a name = "l00155" ></ a >< span class = "lineno" > 155</ span >   </ div >
< div class = "line" >< a name = "l00156" ></ a >< span class = "lineno" > 156</ span >   < span class = "keywordflow" > return</ span > ;</ 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 >   </ 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 >   </ div >
< div class = "line" >< a name = "l00161" ></ a >< span class = "lineno" > 161</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00162" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#af49ea98d369420a07158d705eab60479" > 162</ a ></ span >   < span class = "keywordtype" > bool</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::Similar</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other, < span class = "keywordtype" > double</ span > epsilon)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00163" ></ a >< span class = "lineno" > 163</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00164" ></ a >< span class = "lineno" > 164</ span >   < span class = "keywordflow" > return</ span ></ div >
< div class = "line" >< a name = "l00165" ></ a >< span class = "lineno" > 165</ span >   (::Math::Similar(x, other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > , epsilon)) && </ div >
< div class = "line" >< a name = "l00166" ></ a >< span class = "lineno" > 166</ span >   (::Math::Similar(y, other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , epsilon)) && </ div >
< div class = "line" >< a name = "l00167" ></ a >< span class = "lineno" > 167</ span >   (::Math::Similar(z, other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , epsilon)) && </ div >
< div class = "line" >< a name = "l00168" ></ a >< span class = "lineno" > 168</ span >   (::Math::Similar(w, other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , epsilon))</ div >
< div class = "line" >< a name = "l00169" ></ a >< span class = "lineno" > 169</ 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 >   </ div >
< div class = "line" >< a name = "l00172" ></ a >< span class = "lineno" > 172</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00173" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a53244995fd4f19de4e740b47aec029a3" > 173</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::ToInt</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00174" ></ a >< span class = "lineno" > 174</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00175" ></ a >< span class = "lineno" > 175</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > ((< span class = "keywordtype" > int</ span > )x, (< span class = "keywordtype" > int</ span > )y, (< span class = "keywordtype" > int</ span > )z, (< span class = "keywordtype" > int</ span > )w);</ div >
< div class = "line" >< a name = "l00176" ></ a >< span class = "lineno" > 176</ span >   }</ 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 = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00179" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a267ad7bfad5ea8f6f8c001cee817c54e" > 179</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::ToDouble</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00180" ></ a >< span class = "lineno" > 180</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00181" ></ a >< span class = "lineno" > 181</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > ((< span class = "keywordtype" > double</ span > )x, (< span class = "keywordtype" > double</ span > )y, (< span class = "keywordtype" > double</ span > )z, (< span class = "keywordtype" > double</ span > )w);</ div >
< div class = "line" >< a name = "l00182" ></ a >< span class = "lineno" > 182</ span >   }</ div >
< div class = "line" >< a name = "l00183" ></ a >< span class = "lineno" > 183</ span >   </ div >
< div class = "line" >< a name = "l00184" ></ a >< span class = "lineno" > 184</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00185" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#ae64012cf90d0ad436066232a741b27d5" > 185</ a ></ span >   T& < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator[]</ a > (std::size_t idx)</ div >
< div class = "line" >< a name = "l00186" ></ a >< span class = "lineno" > 186</ span >   {</ div >
< div class = "line" >< a name = "l00187" ></ a >< span class = "lineno" > 187</ span >   < span class = "keywordflow" > switch</ span > (idx)</ div >
< div class = "line" >< a name = "l00188" ></ a >< span class = "lineno" > 188</ span >   {</ div >
< div class = "line" >< a name = "l00189" ></ a >< span class = "lineno" > 189</ span >   < span class = "keywordflow" > case</ span > 0:</ div >
< div class = "line" >< a name = "l00190" ></ a >< span class = "lineno" > 190</ span >   < span class = "keywordflow" > return</ span > x;</ div >
< div class = "line" >< a name = "l00191" ></ a >< span class = "lineno" > 191</ span >   < span class = "keywordflow" > case</ span > 1:</ div >
< div class = "line" >< a name = "l00192" ></ a >< span class = "lineno" > 192</ span >   < span class = "keywordflow" > return</ span > y;</ div >
< div class = "line" >< a name = "l00193" ></ a >< span class = "lineno" > 193</ span >   < span class = "keywordflow" > case</ span > 2:</ div >
< div class = "line" >< a name = "l00194" ></ a >< span class = "lineno" > 194</ span >   < span class = "keywordflow" > return</ span > z;</ div >
< div class = "line" >< a name = "l00195" ></ a >< span class = "lineno" > 195</ span >   < span class = "keywordflow" > case</ span > 3:</ div >
< div class = "line" >< a name = "l00196" ></ a >< span class = "lineno" > 196</ span >   < span class = "keywordflow" > return</ span > w;</ div >
< div class = "line" >< a name = "l00197" ></ a >< span class = "lineno" > 197</ span >   < span class = "keywordflow" > default</ span > :</ div >
< div class = "line" >< a name = "l00198" ></ a >< span class = "lineno" > 198</ span >   < span class = "keywordflow" > throw</ span > std::out_of_range(< span class = "stringliteral" > " Array descriptor on Vector4< T> out of range!" </ span > );</ div >
< div class = "line" >< a name = "l00199" ></ a >< span class = "lineno" > 199</ span >   }</ div >
< div class = "line" >< a name = "l00200" ></ a >< span class = "lineno" > 200</ span >   }</ 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 >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00203" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a603808150eb90008831ba3050bb38a37" > 203</ a ></ span >   < span class = "keyword" > const</ span > T& < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator[]</ a > (std::size_t idx)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00204" ></ a >< span class = "lineno" > 204</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00205" ></ a >< span class = "lineno" > 205</ span >   < span class = "keywordflow" > switch</ span > (idx)</ 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" > case</ span > 0:</ div >
< div class = "line" >< a name = "l00208" ></ a >< span class = "lineno" > 208</ span >   < span class = "keywordflow" > return</ span > x;</ div >
< div class = "line" >< a name = "l00209" ></ a >< span class = "lineno" > 209</ span >   < span class = "keywordflow" > case</ span > 1:</ div >
< div class = "line" >< a name = "l00210" ></ a >< span class = "lineno" > 210</ span >   < span class = "keywordflow" > return</ span > y;</ div >
< div class = "line" >< a name = "l00211" ></ a >< span class = "lineno" > 211</ span >   < span class = "keywordflow" > case</ span > 2:</ div >
< div class = "line" >< a name = "l00212" ></ a >< span class = "lineno" > 212</ span >   < span class = "keywordflow" > return</ span > z;</ div >
< div class = "line" >< a name = "l00213" ></ a >< span class = "lineno" > 213</ span >   < span class = "keywordflow" > case</ span > 3:</ div >
< div class = "line" >< a name = "l00214" ></ a >< span class = "lineno" > 214</ span >   < span class = "keywordflow" > return</ span > w;</ div >
< div class = "line" >< a name = "l00215" ></ a >< span class = "lineno" > 215</ span >   < span class = "keywordflow" > default</ span > :</ div >
< div class = "line" >< a name = "l00216" ></ a >< span class = "lineno" > 216</ span >   < span class = "keywordflow" > throw</ span > std::out_of_range(< span class = "stringliteral" > " Array descriptor on Vector4< T> out of range!" </ span > );</ div >
< div class = "line" >< a name = "l00217" ></ a >< span class = "lineno" > 217</ span >   }</ div >
< div class = "line" >< a name = "l00218" ></ a >< span class = "lineno" > 218</ span >   }</ 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 = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00223" ></ a >< span class = "lineno" > 223</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::LerpSelf</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & other, < span class = "keywordtype" > double</ span > t)</ div >
< div class = "line" >< a name = "l00224" ></ a >< span class = "lineno" > 224</ span >   {</ div >
< div class = "line" >< a name = "l00225" ></ a >< span class = "lineno" > 225</ 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 = "l00226" ></ a >< span class = "lineno" > 226</ span >   </ div >
< div class = "line" >< a name = "l00227" ></ a >< span class = "lineno" > 227</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00228" ></ a >< span class = "lineno" > 228</ span >   </ div >
< div class = "line" >< a name = "l00229" ></ a >< span class = "lineno" > 229</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00230" ></ a >< span class = "lineno" > 230</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00231" ></ a >< span class = "lineno" > 231</ span >   __m256d __vector_other = _mm256_set_pd(other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00232" ></ a >< span class = "lineno" > 232</ span >   __m256d __t = _mm256_set1_pd(t);</ div >
< div class = "line" >< a name = "l00233" ></ a >< span class = "lineno" > 233</ span >   __m256d __it = _mm256_set1_pd(it); < span class = "comment" > // Inverse t</ span ></ div >
< div class = "line" >< a name = "l00234" ></ a >< span class = "lineno" > 234</ span >   </ div >
< div class = "line" >< a name = "l00235" ></ a >< span class = "lineno" > 235</ span >   < span class = "comment" > // Procedure:</ span ></ div >
< div class = "line" >< a name = "l00236" ></ a >< span class = "lineno" > 236</ span >   < span class = "comment" > // (__vector_self * __it) + (__vector_other * __t)</ span ></ div >
< div class = "line" >< a name = "l00237" ></ a >< span class = "lineno" > 237</ span >   </ div >
< div class = "line" >< a name = "l00238" ></ a >< span class = "lineno" > 238</ 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 = "l00239" ></ a >< span class = "lineno" > 239</ span >   </ div >
< div class = "line" >< a name = "l00240" ></ a >< span class = "lineno" > 240</ span >   __sum = _mm256_fmadd_pd(__vector_self, __it, __sum);</ div >
< div class = "line" >< a name = "l00241" ></ a >< span class = "lineno" > 241</ span >   __sum = _mm256_fmadd_pd(__vector_other, __t, __sum);</ div >
< div class = "line" >< a name = "l00242" ></ a >< span class = "lineno" > 242</ span >   </ div >
< div class = "line" >< a name = "l00243" ></ a >< span class = "lineno" > 243</ span >   < span class = "comment" > // Retrieve result, and apply it</ span ></ div >
< div class = "line" >< a name = "l00244" ></ a >< span class = "lineno" > 244</ span >   < span class = "keywordtype" > double</ span > sum[4];</ div >
< div class = "line" >< a name = "l00245" ></ a >< span class = "lineno" > 245</ span >   _mm256_storeu_pd(sum, __sum);</ div >
< div class = "line" >< a name = "l00246" ></ a >< span class = "lineno" > 246</ span >   </ div >
< div class = "line" >< a name = "l00247" ></ a >< span class = "lineno" > 247</ span >   x = sum[0];</ div >
< div class = "line" >< a name = "l00248" ></ a >< span class = "lineno" > 248</ span >   y = sum[1];</ div >
< div class = "line" >< a name = "l00249" ></ a >< span class = "lineno" > 249</ span >   z = sum[2];</ div >
< div class = "line" >< a name = "l00250" ></ a >< span class = "lineno" > 250</ span >   w = sum[3];</ div >
< div class = "line" >< a name = "l00251" ></ a >< span class = "lineno" > 251</ span >   </ div >
< div class = "line" >< a name = "l00252" ></ a >< span class = "lineno" > 252</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00253" ></ a >< span class = "lineno" > 253</ span >   </ div >
< div class = "line" >< a name = "l00254" ></ a >< span class = "lineno" > 254</ span >   x = it * x + t * other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00255" ></ a >< span class = "lineno" > 255</ span >   y = it * y + t * other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00256" ></ a >< span class = "lineno" > 256</ span >   z = it * z + t * other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00257" ></ a >< span class = "lineno" > 257</ span >   w = it * w + t * other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00258" ></ a >< span class = "lineno" > 258</ span >   </ div >
< div class = "line" >< a name = "l00259" ></ a >< span class = "lineno" > 259</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00260" ></ a >< span class = "lineno" > 260</ span >   </ div >
< div class = "line" >< a name = "l00261" ></ a >< span class = "lineno" > 261</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00262" ></ a >< span class = "lineno" > 262</ 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 >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00267" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#ab4efb629829cfebcbb82b4318c3e3bb3" > 267</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> ::LerpSelf</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > & other, < span class = "keywordtype" > double</ span > t)</ div >
< div class = "line" >< a name = "l00268" ></ a >< span class = "lineno" > 268</ span >   {</ div >
< div class = "line" >< a name = "l00269" ></ a >< span class = "lineno" > 269</ span >   < span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > it = 1.0 - 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 >   x = (int)(it * (< span class = "keywordtype" > double</ span > )x + t * (double)other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00272" ></ a >< span class = "lineno" > 272</ span >   y = (int)(it * (< span class = "keywordtype" > double</ span > )y + t * (double)other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > );</ div >
< div class = "line" >< a name = "l00273" ></ a >< span class = "lineno" > 273</ span >   z = (int)(it * (< span class = "keywordtype" > double</ span > )z + t * (double)other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > );</ div >
< div class = "line" >< a name = "l00274" ></ a >< span class = "lineno" > 274</ span >   w = (int)(it * (< span class = "keywordtype" > double</ span > )w + t * (double)other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ div >
< div class = "line" >< a name = "l00275" ></ a >< span class = "lineno" > 275</ span >   </ div >
< div class = "line" >< a name = "l00276" ></ a >< span class = "lineno" > 276</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00277" ></ a >< span class = "lineno" > 277</ span >   }</ div >
< div class = "line" >< a name = "l00278" ></ a >< span class = "lineno" > 278</ span >   </ div >
< div class = "line" >< a name = "l00279" ></ a >< span class = "lineno" > 279</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::Lerp</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & other, < span class = "keywordtype" > double</ span > t)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00280" ></ a >< span class = "lineno" > 280</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00281" ></ a >< span class = "lineno" > 281</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4d</ a > copy(*< span class = "keyword" > this</ span > );</ div >
< div class = "line" >< a name = "l00282" ></ a >< span class = "lineno" > 282</ span >   copy.LerpSelf(other, t);</ 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 >   < span class = "keywordflow" > return</ span > copy;</ 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 >   </ div >
< div class = "line" >< a name = "l00287" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#ae5b7ed7132d76ffbde20f24330fd4f69" > 287</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> ::Lerp</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > & other, < span class = "keywordtype" > double</ span > t)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00288" ></ a >< span class = "lineno" > 288</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00289" ></ a >< span class = "lineno" > 289</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4d</ a > copy(this-> ToDouble());</ div >
< div class = "line" >< a name = "l00290" ></ a >< span class = "lineno" > 290</ span >   copy.< a class = "code" href = "classEule_1_1Vector4.html#ab4efb629829cfebcbb82b4318c3e3bb3" > LerpSelf</ a > (other.< a class = "code" href = "classEule_1_1Vector4.html#a267ad7bfad5ea8f6f8c001cee817c54e" > ToDouble</ a > (), t);</ div >
< div class = "line" >< a name = "l00291" ></ a >< span class = "lineno" > 291</ span >   </ div >
< div class = "line" >< a name = "l00292" ></ a >< span class = "lineno" > 292</ span >   < span class = "keywordflow" > return</ span > copy;</ div >
< div class = "line" >< a name = "l00293" ></ a >< span class = "lineno" > 293</ span >   }</ div >
< div class = "line" >< a name = "l00294" ></ a >< span class = "lineno" > 294</ span >   </ div >
< div class = "line" >< a name = "l00295" ></ a >< span class = "lineno" > 295</ span >   </ 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 >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::operator+</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00298" ></ a >< span class = "lineno" > 298</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00299" ></ a >< span class = "lineno" > 299</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00300" ></ a >< span class = "lineno" > 300</ span >   </ div >
< div class = "line" >< a name = "l00301" ></ a >< span class = "lineno" > 301</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00302" ></ a >< span class = "lineno" > 302</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00303" ></ a >< span class = "lineno" > 303</ span >   __m256d __vector_other = _mm256_set_pd(other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ 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 = "comment" > // Add the components</ span ></ div >
< div class = "line" >< a name = "l00306" ></ a >< span class = "lineno" > 306</ span >   __m256d __sum = _mm256_add_pd(__vector_self, __vector_other);</ 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 >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00309" ></ a >< span class = "lineno" > 309</ span >   < span class = "keywordtype" > double</ span > sum[4];</ div >
< div class = "line" >< a name = "l00310" ></ a >< span class = "lineno" > 310</ span >   _mm256_storeu_pd(sum, __sum);</ div >
< div class = "line" >< a name = "l00311" ></ a >< span class = "lineno" > 311</ span >   </ div >
< div class = "line" >< a name = "l00312" ></ a >< span class = "lineno" > 312</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00313" ></ a >< span class = "lineno" > 313</ span >   sum[0],</ div >
< div class = "line" >< a name = "l00314" ></ a >< span class = "lineno" > 314</ span >   sum[1],</ div >
< div class = "line" >< a name = "l00315" ></ a >< span class = "lineno" > 315</ span >   sum[2],</ div >
< div class = "line" >< a name = "l00316" ></ a >< span class = "lineno" > 316</ span >   sum[3]</ div >
< div class = "line" >< a name = "l00317" ></ a >< span class = "lineno" > 317</ span >   );</ 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 = "preprocessor" > #else</ 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 >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00322" ></ a >< span class = "lineno" > 322</ span >   x + other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00323" ></ a >< span class = "lineno" > 323</ span >   y + other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00324" ></ a >< span class = "lineno" > 324</ span >   z + other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00325" ></ a >< span class = "lineno" > 325</ span >   w + other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a ></ 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 = "preprocessor" > #endif</ span ></ 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" > 330</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00331" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a0b8b7947175218917b2683d48790a40f" > 331</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator+</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00332" ></ a >< span class = "lineno" > 332</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00333" ></ a >< span class = "lineno" > 333</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > (</ div >
< div class = "line" >< a name = "l00334" ></ a >< span class = "lineno" > 334</ span >   x + other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00335" ></ a >< span class = "lineno" > 335</ span >   y + other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00336" ></ a >< span class = "lineno" > 336</ span >   z + other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00337" ></ a >< span class = "lineno" > 337</ span >   w + other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a ></ 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 >   </ div >
< div class = "line" >< a name = "l00341" ></ a >< span class = "lineno" > 341</ span >   </ div >
< div class = "line" >< a name = "l00342" ></ a >< span class = "lineno" > 342</ span >   </ div >
< div class = "line" >< a name = "l00343" ></ a >< span class = "lineno" > 343</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::operator+=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & other)</ div >
< div class = "line" >< a name = "l00344" ></ a >< span class = "lineno" > 344</ span >   {</ div >
< div class = "line" >< a name = "l00345" ></ a >< span class = "lineno" > 345</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00346" ></ a >< span class = "lineno" > 346</ span >   </ div >
< div class = "line" >< a name = "l00347" ></ a >< span class = "lineno" > 347</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00348" ></ a >< span class = "lineno" > 348</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00349" ></ a >< span class = "lineno" > 349</ span >   __m256d __vector_other = _mm256_set_pd(other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ 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" > // Add the components</ span ></ div >
< div class = "line" >< a name = "l00352" ></ a >< span class = "lineno" > 352</ span >   __m256d __sum = _mm256_add_pd(__vector_self, __vector_other);</ div >
< div class = "line" >< a name = "l00353" ></ a >< span class = "lineno" > 353</ span >   </ div >
< div class = "line" >< a name = "l00354" ></ a >< span class = "lineno" > 354</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00355" ></ a >< span class = "lineno" > 355</ span >   < span class = "keywordtype" > double</ span > sum[4];</ div >
< div class = "line" >< a name = "l00356" ></ a >< span class = "lineno" > 356</ span >   _mm256_storeu_pd(sum, __sum);</ div >
< div class = "line" >< a name = "l00357" ></ a >< span class = "lineno" > 357</ span >   </ div >
< div class = "line" >< a name = "l00358" ></ a >< span class = "lineno" > 358</ span >   x = sum[0];</ div >
< div class = "line" >< a name = "l00359" ></ a >< span class = "lineno" > 359</ span >   y = sum[1];</ div >
< div class = "line" >< a name = "l00360" ></ a >< span class = "lineno" > 360</ span >   z = sum[2];</ div >
< div class = "line" >< a name = "l00361" ></ a >< span class = "lineno" > 361</ span >   w = sum[3];</ 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 = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00364" ></ a >< span class = "lineno" > 364</ span >   </ div >
< div class = "line" >< a name = "l00365" ></ a >< span class = "lineno" > 365</ span >   x += other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00366" ></ a >< span class = "lineno" > 366</ span >   y += other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00367" ></ a >< span class = "lineno" > 367</ span >   z += other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00368" ></ a >< span class = "lineno" > 368</ span >   w += other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ 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 >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00371" ></ a >< span class = "lineno" > 371</ span >   </ div >
< div class = "line" >< a name = "l00372" ></ a >< span class = "lineno" > 372</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00373" ></ a >< span class = "lineno" > 373</ span >   }</ div >
< div class = "line" >< a name = "l00374" ></ a >< span class = "lineno" > 374</ span >   </ div >
< div class = "line" >< a name = "l00375" ></ a >< span class = "lineno" > 375</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00376" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a54a9edbe72049b85f03827d488363d0a" > 376</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator+=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)</ div >
< div class = "line" >< a name = "l00377" ></ a >< span class = "lineno" > 377</ span >   {</ div >
< div class = "line" >< a name = "l00378" ></ a >< span class = "lineno" > 378</ span >   x += other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00379" ></ a >< span class = "lineno" > 379</ span >   y += other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00380" ></ a >< span class = "lineno" > 380</ span >   z += other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00381" ></ a >< span class = "lineno" > 381</ span >   w += other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00382" ></ a >< span class = "lineno" > 382</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00383" ></ a >< span class = "lineno" > 383</ span >   }</ 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 >   </ 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 >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::operator-</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00388" ></ a >< span class = "lineno" > 388</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00389" ></ a >< span class = "lineno" > 389</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ 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" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00392" ></ a >< span class = "lineno" > 392</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00393" ></ a >< span class = "lineno" > 393</ span >   __m256d __vector_other = _mm256_set_pd(other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00394" ></ a >< span class = "lineno" > 394</ span >   </ div >
< div class = "line" >< a name = "l00395" ></ a >< span class = "lineno" > 395</ span >   < span class = "comment" > // Subtract the components</ span ></ div >
< div class = "line" >< a name = "l00396" ></ a >< span class = "lineno" > 396</ span >   __m256d __diff = _mm256_sub_pd(__vector_self, __vector_other);</ 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 >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00399" ></ a >< span class = "lineno" > 399</ span >   < span class = "keywordtype" > double</ span > diff[4];</ div >
< div class = "line" >< a name = "l00400" ></ a >< span class = "lineno" > 400</ span >   _mm256_storeu_pd(diff, __diff);</ 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 = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00403" ></ a >< span class = "lineno" > 403</ span >   diff[0],</ div >
< div class = "line" >< a name = "l00404" ></ a >< span class = "lineno" > 404</ span >   diff[1],</ div >
< div class = "line" >< a name = "l00405" ></ a >< span class = "lineno" > 405</ span >   diff[2],</ div >
< div class = "line" >< a name = "l00406" ></ a >< span class = "lineno" > 406</ span >   diff[3]</ 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 >   </ div >
< div class = "line" >< a name = "l00409" ></ a >< span class = "lineno" > 409</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00410" ></ a >< span class = "lineno" > 410</ span >   </ div >
< div class = "line" >< a name = "l00411" ></ a >< span class = "lineno" > 411</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00412" ></ a >< span class = "lineno" > 412</ span >   x - other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00413" ></ a >< span class = "lineno" > 413</ span >   y - other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00414" ></ a >< span class = "lineno" > 414</ span >   z - other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00415" ></ a >< span class = "lineno" > 415</ span >   w - other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a ></ div >
< div class = "line" >< a name = "l00416" ></ a >< span class = "lineno" > 416</ span >   );</ div >
< div class = "line" >< a name = "l00417" ></ a >< span class = "lineno" > 417</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00418" ></ a >< span class = "lineno" > 418</ span >   }</ div >
< div class = "line" >< a name = "l00419" ></ a >< span class = "lineno" > 419</ span >   </ div >
< div class = "line" >< a name = "l00420" ></ a >< span class = "lineno" > 420</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00421" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a6e68957131d6d87c69dce71ff88097f3" > 421</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator-</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00422" ></ a >< span class = "lineno" > 422</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00423" ></ a >< span class = "lineno" > 423</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > (</ div >
< div class = "line" >< a name = "l00424" ></ a >< span class = "lineno" > 424</ span >   x - other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00425" ></ a >< span class = "lineno" > 425</ span >   y - other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00426" ></ a >< span class = "lineno" > 426</ span >   z - other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00427" ></ a >< span class = "lineno" > 427</ span >   w - other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a ></ div >
< div class = "line" >< a name = "l00428" ></ a >< span class = "lineno" > 428</ span >   );</ div >
< div class = "line" >< a name = "l00429" ></ a >< span class = "lineno" > 429</ span >   }</ div >
< div class = "line" >< a name = "l00430" ></ a >< span class = "lineno" > 430</ span >   </ 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 >   </ div >
< div class = "line" >< a name = "l00433" ></ a >< span class = "lineno" > 433</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::operator-=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > & 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 = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00436" ></ a >< span class = "lineno" > 436</ span >   </ div >
< div class = "line" >< a name = "l00437" ></ a >< span class = "lineno" > 437</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00438" ></ a >< span class = "lineno" > 438</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00439" ></ a >< span class = "lineno" > 439</ span >   __m256d __vector_other = _mm256_set_pd(other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > , other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00440" ></ a >< span class = "lineno" > 440</ span >   </ div >
< div class = "line" >< a name = "l00441" ></ a >< span class = "lineno" > 441</ span >   < span class = "comment" > // Subtract the components</ span ></ div >
< div class = "line" >< a name = "l00442" ></ a >< span class = "lineno" > 442</ span >   __m256d __diff = _mm256_sub_pd(__vector_self, __vector_other);</ 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 >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00445" ></ a >< span class = "lineno" > 445</ span >   < span class = "keywordtype" > double</ span > diff[4];</ div >
< div class = "line" >< a name = "l00446" ></ a >< span class = "lineno" > 446</ span >   _mm256_storeu_pd(diff, __diff);</ div >
< div class = "line" >< a name = "l00447" ></ a >< span class = "lineno" > 447</ span >   </ div >
< div class = "line" >< a name = "l00448" ></ a >< span class = "lineno" > 448</ span >   x = diff[0];</ div >
< div class = "line" >< a name = "l00449" ></ a >< span class = "lineno" > 449</ span >   y = diff[1];</ div >
< div class = "line" >< a name = "l00450" ></ a >< span class = "lineno" > 450</ span >   z = diff[2];</ div >
< div class = "line" >< a name = "l00451" ></ a >< span class = "lineno" > 451</ span >   w = diff[3];</ div >
< div class = "line" >< a name = "l00452" ></ a >< span class = "lineno" > 452</ span >   </ div >
< div class = "line" >< a name = "l00453" ></ a >< span class = "lineno" > 453</ span >   < span class = "preprocessor" > #else</ 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 >   x -= other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00456" ></ a >< span class = "lineno" > 456</ span >   y -= other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00457" ></ a >< span class = "lineno" > 457</ span >   z -= other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00458" ></ a >< span class = "lineno" > 458</ span >   w -= other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00459" ></ a >< span class = "lineno" > 459</ span >   </ div >
< div class = "line" >< a name = "l00460" ></ a >< span class = "lineno" > 460</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00461" ></ a >< span class = "lineno" > 461</ span >   </ div >
< div class = "line" >< a name = "l00462" ></ a >< span class = "lineno" > 462</ span >   < span class = "keywordflow" > return</ 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 >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00466" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#aec85460804d89ed9206cc478b2f3c8ba" > 466</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator-=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)</ div >
< div class = "line" >< a name = "l00467" ></ a >< span class = "lineno" > 467</ span >   {</ div >
< div class = "line" >< a name = "l00468" ></ a >< span class = "lineno" > 468</ span >   x -= other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00469" ></ a >< span class = "lineno" > 469</ span >   y -= other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00470" ></ a >< span class = "lineno" > 470</ span >   z -= other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00471" ></ a >< span class = "lineno" > 471</ span >   w -= other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00472" ></ a >< span class = "lineno" > 472</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00473" ></ a >< span class = "lineno" > 473</ span >   }</ 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 >   </ div >
< div class = "line" >< a name = "l00476" ></ a >< span class = "lineno" > 476</ span >   </ div >
< div class = "line" >< a name = "l00477" ></ a >< span class = "lineno" > 477</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00478" ></ a >< span class = "lineno" > 478</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00479" ></ a >< span class = "lineno" > 479</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00480" ></ a >< span class = "lineno" > 480</ span >   </ div >
< div class = "line" >< a name = "l00481" ></ a >< span class = "lineno" > 481</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00482" ></ a >< span class = "lineno" > 482</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00483" ></ a >< span class = "lineno" > 483</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00484" ></ a >< span class = "lineno" > 484</ span >   </ div >
< div class = "line" >< a name = "l00485" ></ a >< span class = "lineno" > 485</ span >   < span class = "comment" > // Multiply the components</ span ></ div >
< div class = "line" >< a name = "l00486" ></ a >< span class = "lineno" > 486</ span >   __m256d __prod = _mm256_mul_pd(__vector_self, __scalar);</ 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 >   < span class = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00489" ></ a >< span class = "lineno" > 489</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00490" ></ a >< span class = "lineno" > 490</ span >   _mm256_storeu_pd(prod, __prod);</ 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 = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00493" ></ a >< span class = "lineno" > 493</ span >   prod[0],</ div >
< div class = "line" >< a name = "l00494" ></ a >< span class = "lineno" > 494</ span >   prod[1],</ div >
< div class = "line" >< a name = "l00495" ></ a >< span class = "lineno" > 495</ span >   prod[2],</ div >
< div class = "line" >< a name = "l00496" ></ a >< span class = "lineno" > 496</ span >   prod[3]</ div >
< div class = "line" >< a name = "l00497" ></ a >< span class = "lineno" > 497</ span >   );</ div >
< div class = "line" >< a name = "l00498" ></ a >< span class = "lineno" > 498</ span >   </ div >
< div class = "line" >< a name = "l00499" ></ a >< span class = "lineno" > 499</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00500" ></ a >< span class = "lineno" > 500</ span >   </ div >
< div class = "line" >< a name = "l00501" ></ a >< span class = "lineno" > 501</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00502" ></ a >< span class = "lineno" > 502</ span >   x * scale,</ div >
< div class = "line" >< a name = "l00503" ></ a >< span class = "lineno" > 503</ span >   y * scale,</ div >
< div class = "line" >< a name = "l00504" ></ a >< span class = "lineno" > 504</ span >   z * scale,</ div >
< div class = "line" >< a name = "l00505" ></ a >< span class = "lineno" > 505</ span >   w * scale</ 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 >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00509" ></ a >< span class = "lineno" > 509</ span >   }</ div >
< div class = "line" >< a name = "l00510" ></ a >< span class = "lineno" > 510</ span >   </ div >
< div class = "line" >< a name = "l00511" ></ a >< span class = "lineno" > 511</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00512" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#af397629f4fc12f8846df9bab8d6d8bbe" > 512</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator*</ a > (< span class = "keyword" > const</ span > T scale)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00513" ></ a >< span class = "lineno" > 513</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00514" ></ a >< span class = "lineno" > 514</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > (</ div >
< div class = "line" >< a name = "l00515" ></ a >< span class = "lineno" > 515</ span >   x * scale,</ div >
< div class = "line" >< a name = "l00516" ></ a >< span class = "lineno" > 516</ span >   y * scale,</ div >
< div class = "line" >< a name = "l00517" ></ a >< span class = "lineno" > 517</ span >   z * scale,</ div >
< div class = "line" >< a name = "l00518" ></ a >< span class = "lineno" > 518</ span >   w * scale</ div >
< div class = "line" >< a name = "l00519" ></ a >< span class = "lineno" > 519</ span >   );</ div >
< div class = "line" >< a name = "l00520" ></ a >< span class = "lineno" > 520</ span >   }</ div >
< div class = "line" >< a name = "l00521" ></ a >< span class = "lineno" > 521</ span >   </ 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 >   </ div >
< div class = "line" >< a name = "l00524" ></ a >< span class = "lineno" > 524</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::operator*=</ a > (< span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > scale)</ div >
< div class = "line" >< a name = "l00525" ></ a >< span class = "lineno" > 525</ span >   {</ div >
< div class = "line" >< a name = "l00526" ></ a >< span class = "lineno" > 526</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ 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 >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00529" ></ a >< span class = "lineno" > 529</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00530" ></ a >< span class = "lineno" > 530</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00531" ></ a >< span class = "lineno" > 531</ span >   </ div >
< div class = "line" >< a name = "l00532" ></ a >< span class = "lineno" > 532</ span >   < span class = "comment" > // Multiply the components</ span ></ div >
< div class = "line" >< a name = "l00533" ></ a >< span class = "lineno" > 533</ span >   __m256d __prod = _mm256_mul_pd(__vector_self, __scalar);</ div >
< div class = "line" >< a name = "l00534" ></ a >< span class = "lineno" > 534</ span >   </ div >
< div class = "line" >< a name = "l00535" ></ a >< span class = "lineno" > 535</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00536" ></ a >< span class = "lineno" > 536</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00537" ></ a >< span class = "lineno" > 537</ span >   _mm256_storeu_pd(prod, __prod);</ 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 >   x = prod[0];</ div >
< div class = "line" >< a name = "l00540" ></ a >< span class = "lineno" > 540</ span >   y = prod[1];</ div >
< div class = "line" >< a name = "l00541" ></ a >< span class = "lineno" > 541</ span >   z = prod[2];</ div >
< div class = "line" >< a name = "l00542" ></ a >< span class = "lineno" > 542</ span >   w = prod[3];</ div >
< div class = "line" >< a name = "l00543" ></ a >< span class = "lineno" > 543</ span >   </ div >
< div class = "line" >< a name = "l00544" ></ a >< span class = "lineno" > 544</ span >   < span class = "preprocessor" > #else</ span ></ div >
< div class = "line" >< a name = "l00545" ></ a >< span class = "lineno" > 545</ span >   </ div >
< div class = "line" >< a name = "l00546" ></ a >< span class = "lineno" > 546</ span >   x *= scale;</ div >
< div class = "line" >< a name = "l00547" ></ a >< span class = "lineno" > 547</ span >   y *= scale;</ div >
< div class = "line" >< a name = "l00548" ></ a >< span class = "lineno" > 548</ span >   z *= scale;</ div >
< div class = "line" >< a name = "l00549" ></ a >< span class = "lineno" > 549</ span >   w *= scale;</ 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 >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00552" ></ a >< span class = "lineno" > 552</ span >   </ div >
< div class = "line" >< a name = "l00553" ></ a >< span class = "lineno" > 553</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00554" ></ a >< span class = "lineno" > 554</ 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 = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00557" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a2359c0ecd8b9af425df240774d5ae950" > 557</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator*=</ a > (< span class = "keyword" > const</ span > T scale)</ div >
< div class = "line" >< a name = "l00558" ></ a >< span class = "lineno" > 558</ span >   {</ div >
< div class = "line" >< a name = "l00559" ></ a >< span class = "lineno" > 559</ span >   x *= scale;</ div >
< div class = "line" >< a name = "l00560" ></ a >< span class = "lineno" > 560</ span >   y *= scale;</ div >
< div class = "line" >< a name = "l00561" ></ a >< span class = "lineno" > 561</ span >   z *= scale;</ div >
< div class = "line" >< a name = "l00562" ></ a >< span class = "lineno" > 562</ span >   w *= scale;</ div >
< div class = "line" >< a name = "l00563" ></ a >< span class = "lineno" > 563</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00564" ></ a >< span class = "lineno" > 564</ span >   }</ div >
< div class = "line" >< a name = "l00565" ></ a >< span class = "lineno" > 565</ span >   </ 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 >   </ div >
< div class = "line" >< a name = "l00568" ></ a >< span class = "lineno" > 568</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00569" ></ a >< span class = "lineno" > 569</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00570" ></ a >< span class = "lineno" > 570</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00571" ></ a >< span class = "lineno" > 571</ span >   </ div >
< div class = "line" >< a name = "l00572" ></ a >< span class = "lineno" > 572</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00573" ></ a >< span class = "lineno" > 573</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00574" ></ a >< span class = "lineno" > 574</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00575" ></ a >< span class = "lineno" > 575</ span >   </ div >
< div class = "line" >< a name = "l00576" ></ a >< span class = "lineno" > 576</ span >   < span class = "comment" > // Divide the components</ span ></ div >
< div class = "line" >< a name = "l00577" ></ a >< span class = "lineno" > 577</ span >   __m256d __prod = _mm256_div_pd(__vector_self, __scalar);</ 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 = "comment" > // Retrieve and return these values</ span ></ div >
< div class = "line" >< a name = "l00580" ></ a >< span class = "lineno" > 580</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00581" ></ a >< span class = "lineno" > 581</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00582" ></ a >< span class = "lineno" > 582</ span >   </ div >
< div class = "line" >< a name = "l00583" ></ a >< span class = "lineno" > 583</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00584" ></ a >< span class = "lineno" > 584</ span >   prod[0],</ div >
< div class = "line" >< a name = "l00585" ></ a >< span class = "lineno" > 585</ span >   prod[1],</ div >
< div class = "line" >< a name = "l00586" ></ a >< span class = "lineno" > 586</ span >   prod[2],</ div >
< div class = "line" >< a name = "l00587" ></ a >< span class = "lineno" > 587</ span >   prod[3]</ div >
< div class = "line" >< a name = "l00588" ></ a >< span class = "lineno" > 588</ 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 >   < span class = "preprocessor" > #else</ 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 >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > (</ div >
< div class = "line" >< a name = "l00593" ></ a >< span class = "lineno" > 593</ span >   x / scale,</ div >
< div class = "line" >< a name = "l00594" ></ a >< span class = "lineno" > 594</ span >   y / scale,</ div >
< div class = "line" >< a name = "l00595" ></ a >< span class = "lineno" > 595</ span >   z / scale,</ div >
< div class = "line" >< a name = "l00596" ></ a >< span class = "lineno" > 596</ span >   w / scale</ div >
< div class = "line" >< a name = "l00597" ></ a >< span class = "lineno" > 597</ span >   );</ div >
< div class = "line" >< a name = "l00598" ></ a >< span class = "lineno" > 598</ span >   </ div >
< div class = "line" >< a name = "l00599" ></ a >< span class = "lineno" > 599</ span >   < span class = "preprocessor" > #endif</ span ></ 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 >   </ div >
< div class = "line" >< a name = "l00602" ></ a >< span class = "lineno" > 602</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00603" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#ac952c5322209dffd5ea7bb4a9b06c52d" > 603</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator/</ a > (< span class = "keyword" > const</ span > T scale)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00604" ></ a >< span class = "lineno" > 604</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00605" ></ a >< span class = "lineno" > 605</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > (</ div >
< div class = "line" >< a name = "l00606" ></ a >< span class = "lineno" > 606</ span >   x / scale,</ div >
< div class = "line" >< a name = "l00607" ></ a >< span class = "lineno" > 607</ span >   y / scale,</ div >
< div class = "line" >< a name = "l00608" ></ a >< span class = "lineno" > 608</ span >   z / scale,</ div >
< div class = "line" >< a name = "l00609" ></ a >< span class = "lineno" > 609</ span >   w / scale</ div >
< div class = "line" >< a name = "l00610" ></ a >< span class = "lineno" > 610</ span >   );</ div >
< div class = "line" >< a name = "l00611" ></ a >< span class = "lineno" > 611</ span >   }</ 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 >   </ div >
< div class = "line" >< a name = "l00615" ></ a >< span class = "lineno" > 615</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> ::operator/=</ a > (< span class = "keyword" > const</ span > < span class = "keywordtype" > double</ span > scale)</ div >
< div class = "line" >< a name = "l00616" ></ a >< span class = "lineno" > 616</ span >   {</ div >
< div class = "line" >< a name = "l00617" ></ a >< span class = "lineno" > 617</ span >   < span class = "preprocessor" > #ifndef _EULE_NO_INTRINSICS_</ span ></ div >
< div class = "line" >< a name = "l00618" ></ a >< span class = "lineno" > 618</ span >   </ div >
< div class = "line" >< a name = "l00619" ></ a >< span class = "lineno" > 619</ span >   < span class = "comment" > // Move vector components and factors into registers</ span ></ div >
< div class = "line" >< a name = "l00620" ></ a >< span class = "lineno" > 620</ span >   __m256d __vector_self = _mm256_set_pd(w, z, y, x);</ div >
< div class = "line" >< a name = "l00621" ></ a >< span class = "lineno" > 621</ span >   __m256d __scalar = _mm256_set1_pd(scale);</ div >
< div class = "line" >< a name = "l00622" ></ a >< span class = "lineno" > 622</ span >   </ div >
< div class = "line" >< a name = "l00623" ></ a >< span class = "lineno" > 623</ span >   < span class = "comment" > // Divide the components</ span ></ div >
< div class = "line" >< a name = "l00624" ></ a >< span class = "lineno" > 624</ span >   __m256d __prod = _mm256_div_pd(__vector_self, __scalar);</ div >
< div class = "line" >< a name = "l00625" ></ a >< span class = "lineno" > 625</ span >   </ div >
< div class = "line" >< a name = "l00626" ></ a >< span class = "lineno" > 626</ span >   < span class = "comment" > // Retrieve and apply these values</ span ></ div >
< div class = "line" >< a name = "l00627" ></ a >< span class = "lineno" > 627</ span >   < span class = "keywordtype" > double</ span > prod[4];</ div >
< div class = "line" >< a name = "l00628" ></ a >< span class = "lineno" > 628</ span >   _mm256_storeu_pd(prod, __prod);</ div >
< div class = "line" >< a name = "l00629" ></ a >< span class = "lineno" > 629</ span >   </ div >
< div class = "line" >< a name = "l00630" ></ a >< span class = "lineno" > 630</ span >   x = prod[0];</ div >
< div class = "line" >< a name = "l00631" ></ a >< span class = "lineno" > 631</ span >   y = prod[1];</ div >
< div class = "line" >< a name = "l00632" ></ a >< span class = "lineno" > 632</ span >   z = prod[2];</ div >
< div class = "line" >< a name = "l00633" ></ a >< span class = "lineno" > 633</ span >   w = prod[3];</ 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 >   < span class = "preprocessor" > #else</ 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 >   x /= scale;</ div >
< div class = "line" >< a name = "l00638" ></ a >< span class = "lineno" > 638</ span >   y /= scale;</ div >
< div class = "line" >< a name = "l00639" ></ a >< span class = "lineno" > 639</ span >   z /= scale;</ div >
< div class = "line" >< a name = "l00640" ></ a >< span class = "lineno" > 640</ span >   w /= scale;</ div >
< div class = "line" >< a name = "l00641" ></ a >< span class = "lineno" > 641</ span >   </ div >
< div class = "line" >< a name = "l00642" ></ a >< span class = "lineno" > 642</ span >   < span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a name = "l00643" ></ a >< span class = "lineno" > 643</ span >   < span class = "keywordflow" > return</ span > ;</ 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 >   </ div >
< div class = "line" >< a name = "l00646" ></ a >< span class = "lineno" > 646</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00647" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a35680f0675813c93e1c2cd3607c1ea2e" > 647</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator/=</ a > (< span class = "keyword" > const</ span > T scale)</ div >
< div class = "line" >< a name = "l00648" ></ a >< span class = "lineno" > 648</ span >   {</ div >
< div class = "line" >< a name = "l00649" ></ a >< span class = "lineno" > 649</ span >   x /= scale;</ div >
< div class = "line" >< a name = "l00650" ></ a >< span class = "lineno" > 650</ span >   y /= scale;</ div >
< div class = "line" >< a name = "l00651" ></ a >< span class = "lineno" > 651</ span >   z /= scale;</ div >
< div class = "line" >< a name = "l00652" ></ a >< span class = "lineno" > 652</ span >   w /= scale;</ div >
< div class = "line" >< a name = "l00653" ></ a >< span class = "lineno" > 653</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00654" ></ a >< span class = "lineno" > 654</ span >   }</ 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 >   </ 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 >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00659" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#ae2af40b477e41f8a42db7f80a832a1e7" > 659</ a ></ span >   < span class = "keywordtype" > bool</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator==</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00660" ></ a >< span class = "lineno" > 660</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00661" ></ a >< span class = "lineno" > 661</ span >   < span class = "keywordflow" > return</ span ></ div >
< div class = "line" >< a name = "l00662" ></ a >< span class = "lineno" > 662</ span >   (x == other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) && </ div >
< div class = "line" >< a name = "l00663" ></ a >< span class = "lineno" > 663</ span >   (y == other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) && </ div >
< div class = "line" >< a name = "l00664" ></ a >< span class = "lineno" > 664</ span >   (z == other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) && </ div >
< div class = "line" >< a name = "l00665" ></ a >< span class = "lineno" > 665</ span >   (w == other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ div >
< div class = "line" >< a name = "l00666" ></ a >< span class = "lineno" > 666</ span >   }</ div >
< div class = "line" >< a name = "l00667" ></ a >< span class = "lineno" > 667</ span >   </ 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 >   </ div >
< div class = "line" >< a name = "l00670" ></ a >< span class = "lineno" > 670</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00671" ></ a >< span class = "lineno" > 671</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00672" ></ a >< span class = "lineno" > 672</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00673" ></ a >< span class = "lineno" > 673</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > newVec;</ 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 >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > = (mat[0][0] * x) + (mat[0][1] * y) + (mat[0][2] * z) + (mat[0][3] * w);</ div >
< div class = "line" >< a name = "l00676" ></ a >< span class = "lineno" > 676</ span >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > = (mat[1][0] * x) + (mat[1][1] * y) + (mat[1][2] * z) + (mat[1][3] * w);</ div >
< div class = "line" >< a name = "l00677" ></ a >< span class = "lineno" > 677</ span >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > = (mat[2][0] * x) + (mat[2][1] * y) + (mat[2][2] * z) + (mat[2][3] * w);</ div >
< div class = "line" >< a name = "l00678" ></ a >< span class = "lineno" > 678</ span >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > = (mat[3][0] * x) + (mat[3][1] * y) + (mat[3][2] * z) + (mat[3][3] * w);</ div >
< div class = "line" >< a name = "l00679" ></ a >< span class = "lineno" > 679</ span >   </ div >
< div class = "line" >< a name = "l00680" ></ a >< span class = "lineno" > 680</ span >   < span class = "keywordflow" > return</ span > 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 >   </ div >
< div class = "line" >< a name = "l00683" ></ a >< span class = "lineno" > 683</ span >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00684" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#af19cb20ab4ccf6f39c9c8875495de565" > 684</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00685" ></ a >< span class = "lineno" > 685</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00686" ></ a >< span class = "lineno" > 686</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > newVec;</ 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 >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > = (mat[0][0] * x) + (mat[0][1] * y) + (mat[0][2] * z) + (mat[0][3] * w);</ div >
< div class = "line" >< a name = "l00689" ></ a >< span class = "lineno" > 689</ span >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > = (mat[1][0] * x) + (mat[1][1] * y) + (mat[1][2] * z) + (mat[1][3] * w);</ div >
< div class = "line" >< a name = "l00690" ></ a >< span class = "lineno" > 690</ span >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > = (mat[2][0] * x) + (mat[2][1] * y) + (mat[2][2] * z) + (mat[2][3] * w);</ div >
< div class = "line" >< a name = "l00691" ></ a >< span class = "lineno" > 691</ span >   newVec.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > = (mat[3][0] * x) + (mat[3][1] * y) + (mat[3][2] * z) + (mat[3][3] * w);</ 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 = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > (</ div >
< div class = "line" >< a name = "l00694" ></ a >< span class = "lineno" > 694</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ,</ div >
< div class = "line" >< a name = "l00695" ></ a >< span class = "lineno" > 695</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ,</ div >
< div class = "line" >< a name = "l00696" ></ a >< span class = "lineno" > 696</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ,</ div >
< div class = "line" >< a name = "l00697" ></ a >< span class = "lineno" > 697</ span >   (< span class = "keywordtype" > int</ span > )newVec.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a ></ div >
< div class = "line" >< a name = "l00698" ></ a >< span class = "lineno" > 698</ span >   );</ div >
< div class = "line" >< a name = "l00699" ></ a >< span class = "lineno" > 699</ span >   }</ 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 >   </ div >
< div class = "line" >< a name = "l00702" ></ a >< span class = "lineno" > 702</ span >   </ div >
< div class = "line" >< a name = "l00703" ></ a >< span class = "lineno" > 703</ span >   < span class = "comment" > // Good, optimized chad version for doubles</ span ></ div >
< div class = "line" >< a name = "l00704" ></ a >< span class = "lineno" > 704</ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00705" ></ a >< span class = "lineno" > 705</ span >   {</ div >
< div class = "line" >< a name = "l00706" ></ a >< span class = "lineno" > 706</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > buffer = *< span class = "keyword" > this</ span > ;</ div >
< div class = "line" >< a name = "l00707" ></ a >< span class = "lineno" > 707</ span >   </ div >
< div class = "line" >< a name = "l00708" ></ a >< span class = "lineno" > 708</ span >   < span class = "comment" > // Should this still be reversed...? like, instead of mat[x][y], use mat[y][m]</ span ></ div >
< div class = "line" >< a name = "l00709" ></ a >< span class = "lineno" > 709</ span >   < span class = "comment" > // idk right now. check that if something doesn' t work</ span ></ div >
< div class = "line" >< a name = "l00710" ></ a >< span class = "lineno" > 710</ span >   x = (mat[0][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[0][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[0][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[0][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ div >
< div class = "line" >< a name = "l00711" ></ a >< span class = "lineno" > 711</ span >   y = (mat[1][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[1][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[1][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[1][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ div >
< div class = "line" >< a name = "l00712" ></ a >< span class = "lineno" > 712</ span >   z = (mat[2][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[2][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[2][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[2][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ div >
< div class = "line" >< a name = "l00713" ></ a >< span class = "lineno" > 713</ span >   w = (mat[3][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[3][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[3][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[3][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ 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 = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00716" ></ a >< span class = "lineno" > 716</ span >   }</ div >
< div class = "line" >< a name = "l00717" ></ a >< span class = "lineno" > 717</ span >   </ div >
< div class = "line" >< a name = "l00718" ></ a >< span class = "lineno" > 718</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00719" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a36426b12cdcdbfaa6daa35c9d3d4e9c4" > 719</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator-</ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00720" ></ a >< span class = "lineno" > 720</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00721" ></ a >< span class = "lineno" > 721</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > (</ div >
< div class = "line" >< a name = "l00722" ></ a >< span class = "lineno" > 722</ span >   -x,</ div >
< div class = "line" >< a name = "l00723" ></ a >< span class = "lineno" > 723</ span >   -y,</ div >
< div class = "line" >< a name = "l00724" ></ a >< span class = "lineno" > 724</ span >   -z,</ div >
< div class = "line" >< a name = "l00725" ></ a >< span class = "lineno" > 725</ span >   -w</ 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 >   }</ 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 >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00730" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a7dc41444f6e3fd30a9cc256ed8414ee6" > 730</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)</ div >
< div class = "line" >< a name = "l00731" ></ a >< span class = "lineno" > 731</ span >   {</ div >
< div class = "line" >< a name = "l00732" ></ a >< span class = "lineno" > 732</ span >   x = other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ;</ div >
< div class = "line" >< a name = "l00733" ></ a >< span class = "lineno" > 733</ span >   y = other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ;</ div >
< div class = "line" >< a name = "l00734" ></ a >< span class = "lineno" > 734</ span >   z = other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ;</ div >
< div class = "line" >< a name = "l00735" ></ a >< span class = "lineno" > 735</ span >   w = other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ;</ div >
< div class = "line" >< a name = "l00736" ></ a >< span class = "lineno" > 736</ span >   </ div >
< div class = "line" >< a name = "l00737" ></ a >< span class = "lineno" > 737</ span >   < span class = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00738" ></ a >< span class = "lineno" > 738</ span >   }</ 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 = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00741" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a331a780b59a0e15e887f11a6fe396934" > 741</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator=</ a > (< a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > && other) noexcept</ div >
< div class = "line" >< a name = "l00742" ></ a >< span class = "lineno" > 742</ span >   {</ div >
< div class = "line" >< a name = "l00743" ></ a >< span class = "lineno" > 743</ span >   x = std::move(other.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > );</ div >
< div class = "line" >< a name = "l00744" ></ a >< span class = "lineno" > 744</ span >   y = std::move(other.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > );</ div >
< div class = "line" >< a name = "l00745" ></ a >< span class = "lineno" > 745</ span >   z = std::move(other.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > );</ div >
< div class = "line" >< a name = "l00746" ></ a >< span class = "lineno" > 746</ span >   w = std::move(other.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > );</ div >
< div class = "line" >< a name = "l00747" ></ a >< span class = "lineno" > 747</ span >   </ div >
< div class = "line" >< a name = "l00748" ></ a >< span class = "lineno" > 748</ span >   < span class = "keywordflow" > return</ span > ;</ 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 >   < span class = "comment" > // Slow, lame version for intcels</ span ></ div >
< div class = "line" >< a name = "l00752" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#a7b48a3504125d0017ea237825da3d126" > 752</ a ></ span >   < span class = "keywordtype" > void</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00753" ></ a >< span class = "lineno" > 753</ span >   {</ div >
< div class = "line" >< a name = "l00754" ></ a >< span class = "lineno" > 754</ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > buffer(x, y, z, w);</ div >
< div class = "line" >< a name = "l00755" ></ a >< span class = "lineno" > 755</ span >   </ div >
< div class = "line" >< a name = "l00756" ></ a >< span class = "lineno" > 756</ span >   < span class = "comment" > // Should this still be reversed...? like, instead of mat[x][y], use mat[y][m]</ span ></ div >
< div class = "line" >< a name = "l00757" ></ a >< span class = "lineno" > 757</ span >   < span class = "comment" > // idk right now. check that if something doesn' t work</ span ></ div >
< div class = "line" >< a name = "l00758" ></ a >< span class = "lineno" > 758</ span >   x = (int)((mat[0][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[0][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[0][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[0][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ));</ div >
< div class = "line" >< a name = "l00759" ></ a >< span class = "lineno" > 759</ span >   y = (int)((mat[1][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[1][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[1][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[1][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ));</ div >
< div class = "line" >< a name = "l00760" ></ a >< span class = "lineno" > 760</ span >   z = (int)((mat[2][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[2][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[2][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[2][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ));</ div >
< div class = "line" >< a name = "l00761" ></ a >< span class = "lineno" > 761</ span >   w = (int)((mat[3][0] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > x</ a > ) + (mat[3][1] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > y</ a > ) + (mat[3][2] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > z</ a > ) + (mat[3][3] * buffer.< a class = "code" href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > w</ a > ));</ 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 = "keywordflow" > return</ span > ;</ div >
< div class = "line" >< a name = "l00764" ></ a >< span class = "lineno" > 764</ span >   }</ div >
< div class = "line" >< a name = "l00765" ></ a >< span class = "lineno" > 765</ span >   </ div >
< div class = "line" >< a name = "l00766" ></ a >< span class = "lineno" > 766</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00767" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#abc9e49133b73116830c953a4666e403c" > 767</ a ></ span >   < span class = "keywordtype" > bool</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator!=</ a > (< span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> </ a > & other)< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00768" ></ a >< span class = "lineno" > 768</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00769" ></ a >< span class = "lineno" > 769</ span >   < span class = "keywordflow" > return</ span > !operator==(other);</ div >
< div class = "line" >< a name = "l00770" ></ a >< span class = "lineno" > 770</ span >   }</ div >
< div class = "line" >< a name = "l00771" ></ a >< span class = "lineno" > 771</ span >   </ div >
< div class = "line" >< a name = "l00772" ></ a >< span class = "lineno" > 772</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "Vector2_8h.html" > Vector2.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00773" ></ a >< span class = "lineno" > 773</ span >   < span class = "preprocessor" > #include " < a class = "code" href = "Vector3_8h.html" > Vector3.h</ a > " </ span ></ div >
< div class = "line" >< a name = "l00774" ></ a >< span class = "lineno" > 774</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00775" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#aa1384f5e84216dc264074b716efd37a0" > 775</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< 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 = "l00776" ></ a >< span class = "lineno" > 776</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00777" ></ a >< span class = "lineno" > 777</ 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 = "l00778" ></ a >< span class = "lineno" > 778</ span >   }</ div >
< div class = "line" >< a name = "l00779" ></ a >< span class = "lineno" > 779</ span >   </ div >
< div class = "line" >< a name = "l00780" ></ a >< span class = "lineno" > 780</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00781" ></ a >< span class = "lineno" >< a class = "line" href = "classEule_1_1Vector4.html#ab6911dc86dd0289c604167b95e18ebbc" > 781</ a ></ span >   < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::operator</ a > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > ()< span class = "keyword" > const</ span ></ div >
< div class = "line" >< a name = "l00782" ></ a >< span class = "lineno" > 782</ span >   < span class = "keyword" ></ span > {</ div >
< div class = "line" >< a name = "l00783" ></ a >< span class = "lineno" > 783</ span >   < span class = "keywordflow" > return</ span > < a class = "code" href = "classEule_1_1Vector3.html" > Vector3< T> </ a > (x, y, z);</ div >
< div class = "line" >< a name = "l00784" ></ a >< span class = "lineno" > 784</ span >   }</ 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 >   < span class = "keyword" > template</ span > < span class = "keyword" > class </ span >< a class = "code" href = "classEule_1_1Vector4.html" > Vector4< int> </ a > ;</ div >
< div class = "line" >< a name = "l00787" ></ a >< span class = "lineno" > 787</ span >   < span class = "keyword" > template</ span > < span class = "keyword" > class </ span >< a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > ;</ div >
< div class = "line" >< a name = "l00788" ></ a >< span class = "lineno" > 788</ span >   </ div >
< div class = "line" >< a name = "l00789" ></ a >< span class = "lineno" > 789</ span >   < span class = "comment" > // Some handy predefines</ span ></ div >
< div class = "line" >< a name = "l00790" ></ a >< span class = "lineno" > 790</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00791" ></ a >< span class = "lineno" > 791</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::up</ a > (0, 1, 0, 0);</ div >
< div class = "line" >< a name = "l00792" ></ a >< span class = "lineno" > 792</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00793" ></ a >< span class = "lineno" > 793</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::down</ a > (0, -1, 0, 0);</ div >
< div class = "line" >< a name = "l00794" ></ a >< span class = "lineno" > 794</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00795" ></ a >< span class = "lineno" > 795</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::right</ a > (1, 0, 0, 0);</ div >
< div class = "line" >< a name = "l00796" ></ a >< span class = "lineno" > 796</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00797" ></ a >< span class = "lineno" > 797</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::left</ a > (-1, 0, 0, 0);</ div >
< div class = "line" >< a name = "l00798" ></ a >< span class = "lineno" > 798</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00799" ></ a >< span class = "lineno" > 799</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::forward</ a > (1, 0, 0, 0);</ div >
< div class = "line" >< a name = "l00800" ></ a >< span class = "lineno" > 800</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00801" ></ a >< span class = "lineno" > 801</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::backward</ a > (-1, 0, 0, 0);</ div >
< div class = "line" >< a name = "l00802" ></ a >< span class = "lineno" > 802</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00803" ></ a >< span class = "lineno" > 803</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::future</ a > (0, 0, 0, 1);</ div >
< div class = "line" >< a name = "l00804" ></ a >< span class = "lineno" > 804</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00805" ></ a >< span class = "lineno" > 805</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::past</ a > (0, 0, 0, -1);</ div >
< div class = "line" >< a name = "l00806" ></ a >< span class = "lineno" > 806</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00807" ></ a >< span class = "lineno" > 807</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::one</ a > (1, 1, 1, 1);</ div >
< div class = "line" >< a name = "l00808" ></ a >< span class = "lineno" > 808</ span >   < span class = "keyword" > template</ span > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a name = "l00809" ></ a >< span class = "lineno" > 809</ span >   < span class = "keyword" > const</ span > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< double> </ a > < a class = "code" href = "classEule_1_1Vector4.html" > Vector4< T> ::zero</ a > (0, 0, 0, 0);</ div >
</ div > <!-- fragment --> </ div > <!-- contents -->
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a98bea58a58b04357044f72afc905896d" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a98bea58a58b04357044f72afc905896d" > Eule::Vector4::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 = "Vector4_8cpp_source.html#l00148" > Vector4.cpp:148</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector3_html" >< div class = "ttname" >< a href = "classEule_1_1Vector3.html" > Eule::Vector3</ a ></ div >< div class = "ttdoc" > Representation of a 3d vector.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Matrix4x4_8h_source.html#l00009" > Matrix4x4.h:9</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a6abdc466a694e39b1bf5e71dd26e9fbf" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a6abdc466a694e39b1bf5e71dd26e9fbf" > Eule::Vector4::x</ a ></ div >< div class = "ttdeci" > T x</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00088" > Vector4.h:88</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_acf70d20ed586c3e168f2664f643902f0" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#acf70d20ed586c3e168f2664f643902f0" > Eule::Vector4::z</ a ></ div >< div class = "ttdeci" > T z</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00090" > Vector4.h:90</ 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 = "aclassEule_1_1Vector4_html_ab4efb629829cfebcbb82b4318c3e3bb3" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#ab4efb629829cfebcbb82b4318c3e3bb3" > Eule::Vector4::LerpSelf</ a ></ div >< div class = "ttdeci" > void LerpSelf(const Vector4< T > & other, double t)</ div >< div class = "ttdoc" > Will lerp itself towards other by t.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00267" > Vector4.cpp:267</ a ></ div ></ div >
< div class = "ttc" id = "aclassEule_1_1Vector4_html_a4b2184f91a991264ddc3dae3beadf23e" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a4b2184f91a991264ddc3dae3beadf23e" > Eule::Vector4::w</ a ></ div >< div class = "ttdeci" > T w</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00091" > Vector4.h:91</ 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_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_1Vector4_html_a267ad7bfad5ea8f6f8c001cee817c54e" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a267ad7bfad5ea8f6f8c001cee817c54e" > Eule::Vector4::ToDouble</ a ></ div >< div class = "ttdeci" > Vector4< double > ToDouble() const</ div >< div class = "ttdoc" > Will convert this vector to a Vector4d.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00179" > Vector4.cpp:179</ 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_1Vector4_html_a2cd0433c99303b8934993b2fd2aa1c6e" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a2cd0433c99303b8934993b2fd2aa1c6e" > Eule::Vector4::SqrMagnitude</ a ></ div >< div class = "ttdeci" > double SqrMagnitude() const</ div >< div class = "ttdoc" > Will compute the square magnitude.</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8cpp_source.html#l00031" > Vector4.cpp:31</ 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_1Vector4_html_a994773dc2da079a335f4b57153cf82c9" >< div class = "ttname" >< a href = "classEule_1_1Vector4.html#a994773dc2da079a335f4b57153cf82c9" > Eule::Vector4::y</ a ></ div >< div class = "ttdeci" > T y</ div >< div class = "ttdef" >< b > Definition:</ b > < a href = "Vector4_8h_source.html#l00089" > Vector4.h:89</ 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_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 16:10:26 +01:00
Generated on Mon Nov 15 2021 16:10:18 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 >