summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-11-18 17:49:56 +0100
committerbunnei <bunneidev@gmail.com>2015-11-18 17:49:56 +0100
commitf971aceac39b643765c45dfb25827e7ea689bb67 (patch)
tree849e7919afb301eaf56d202083db79a31c139a43 /src
parentMerge pull request #1238 from citra-emu/neobrain-rtti (diff)
parentfix failure on gcc and clang (diff)
downloadyuzu-f971aceac39b643765c45dfb25827e7ea689bb67.tar
yuzu-f971aceac39b643765c45dfb25827e7ea689bb67.tar.gz
yuzu-f971aceac39b643765c45dfb25827e7ea689bb67.tar.bz2
yuzu-f971aceac39b643765c45dfb25827e7ea689bb67.tar.lz
yuzu-f971aceac39b643765c45dfb25827e7ea689bb67.tar.xz
yuzu-f971aceac39b643765c45dfb25827e7ea689bb67.tar.zst
yuzu-f971aceac39b643765c45dfb25827e7ea689bb67.zip
Diffstat (limited to 'src')
-rw-r--r--src/common/vector_math.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/common/vector_math.h b/src/common/vector_math.h
index 4928c9bf2..02688e35e 100644
--- a/src/common/vector_math.h
+++ b/src/common/vector_math.h
@@ -32,6 +32,7 @@
#pragma once
#include <cmath>
+#include <type_traits>
namespace Math {
@@ -90,6 +91,7 @@ public:
{
x-=other.x; y-=other.y;
}
+ template<typename Q = T,class = typename std::enable_if<std::is_signed<Q>::value>::type>
Vec2<decltype(-T{})> operator -() const
{
return MakeVec(-x,-y);
@@ -220,6 +222,7 @@ public:
{
x-=other.x; y-=other.y; z-=other.z;
}
+ template<typename Q = T,class = typename std::enable_if<std::is_signed<Q>::value>::type>
Vec3<decltype(-T{})> operator -() const
{
return MakeVec(-x,-y,-z);
@@ -390,6 +393,7 @@ public:
{
x-=other.x; y-=other.y; z-=other.z; w-=other.w;
}
+ template<typename Q = T,class = typename std::enable_if<std::is_signed<Q>::value>::type>
Vec4<decltype(-T{})> operator -() const
{
return MakeVec(-x,-y,-z,-w);