[Bf-blender-cvs] [ee59df5] master: BGE clean up: use float version of trigonometric functions

Jorge Bernal noreply at git.blender.org
Wed Dec 16 02:02:49 CET 2015


Commit: ee59df521f2af10d6a34158a39bf21dd5ae847a3
Author: Jorge Bernal
Date:   Wed Dec 16 01:52:30 2015 +0100
Branches: master
https://developer.blender.org/rBee59df521f2af10d6a34158a39bf21dd5ae847a3

BGE clean up: use float version of trigonometric functions

===================================================================

M	intern/moto/include/MT_Matrix3x3.h
M	intern/moto/include/MT_Matrix3x3.inl
M	intern/moto/include/MT_Quaternion.h
M	intern/moto/include/MT_Quaternion.inl
M	intern/moto/include/MT_Vector2.inl
M	intern/moto/include/MT_Vector3.inl
M	intern/moto/include/MT_Vector4.inl
M	source/gameengine/GamePlayer/ghost/GPG_System.cpp
M	source/gameengine/Ketsji/KX_Camera.cpp
M	source/gameengine/Ketsji/KX_ConstraintActuator.cpp
M	source/gameengine/Ketsji/KX_Dome.cpp
M	source/gameengine/Ketsji/KX_OrientationInterpolator.cpp
M	source/gameengine/Ketsji/KX_TrackToActuator.cpp
M	source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp

===================================================================

diff --git a/intern/moto/include/MT_Matrix3x3.h b/intern/moto/include/MT_Matrix3x3.h
index 8832fd5..6f965f5 100644
--- a/intern/moto/include/MT_Matrix3x3.h
+++ b/intern/moto/include/MT_Matrix3x3.h
@@ -151,12 +151,12 @@ public:
 	 **/
 
 	void setEuler(const MT_Vector3& euler) {
-		MT_Scalar ci = cos(euler[0]); 
-		MT_Scalar cj = cos(euler[1]); 
-		MT_Scalar ch = cos(euler[2]);
-		MT_Scalar si = sin(euler[0]); 
-		MT_Scalar sj = sin(euler[1]); 
-		MT_Scalar sh = sin(euler[2]);
+		MT_Scalar ci = cosf(euler[0]);
+		MT_Scalar cj = cosf(euler[1]);
+		MT_Scalar ch = cosf(euler[2]);
+		MT_Scalar si = sinf(euler[0]);
+		MT_Scalar sj = sinf(euler[1]);
+		MT_Scalar sh = sinf(euler[2]);
 		MT_Scalar cc = ci * ch; 
 		MT_Scalar cs = ci * sh; 
 		MT_Scalar sc = si * ch; 
@@ -170,19 +170,19 @@ public:
 	void getEuler(MT_Scalar& yaw, MT_Scalar& pitch, MT_Scalar& roll) const
 		{			
 			if (m_el[2][0] != -1.0f && m_el[2][0] != 1.0f) {
-				pitch = MT_Scalar(-asin(m_el[2][0]));
-				yaw = MT_Scalar(atan2(m_el[2][1] / cos(pitch), m_el[2][2] / cos(pitch)));
-				roll = MT_Scalar(atan2(m_el[1][0] / cos(pitch), m_el[0][0] / cos(pitch)));				
+				pitch = MT_Scalar(-asinf(m_el[2][0]));
+				yaw = MT_Scalar(atan2f(m_el[2][1] / cosf(pitch), m_el[2][2] / cosf(pitch)));
+				roll = MT_Scalar(atan2f(m_el[1][0] / cosf(pitch), m_el[0][0] / cosf(pitch)));
 			}
 			else {
 				roll = MT_Scalar(0);
 				if (m_el[2][0] == -1.0f) {
 					pitch = (float)MT_PI / 2.0f;
-					yaw = MT_Scalar(atan2(m_el[0][1], m_el[0][2]));
+					yaw = MT_Scalar(atan2f(m_el[0][1], m_el[0][2]));
 				}
 				else {
 					pitch = (float)-MT_PI / 2.0f;
-					yaw = MT_Scalar(atan2(m_el[0][1], m_el[0][2]));
+					yaw = MT_Scalar(atan2f(m_el[0][1], m_el[0][2]));
 				}
 			}
 		}
diff --git a/intern/moto/include/MT_Matrix3x3.inl b/intern/moto/include/MT_Matrix3x3.inl
index 088c4b0..614e4f9 100644
--- a/intern/moto/include/MT_Matrix3x3.inl
+++ b/intern/moto/include/MT_Matrix3x3.inl
@@ -9,7 +9,7 @@ GEN_INLINE MT_Quaternion MT_Matrix3x3::getRotation() const {
     
     if (trace > 0.0f) 
     {
-        MT_Scalar s = sqrt(trace + MT_Scalar(1.0f));
+        MT_Scalar s = sqrtf(trace + MT_Scalar(1.0f));
         result[3] = s * MT_Scalar(0.5f);
         s = MT_Scalar(0.5f) / s;
         
@@ -28,7 +28,7 @@ GEN_INLINE MT_Quaternion MT_Matrix3x3::getRotation() const {
         int j = next[i];  
         int k = next[j];
         
-        MT_Scalar s = sqrt(m_el[i][i] - m_el[j][j] - m_el[k][k] + MT_Scalar(1.0f));
+        MT_Scalar s = sqrtf(m_el[i][i] - m_el[j][j] - m_el[k][k] + MT_Scalar(1.0f));
         
         result[i] = s * MT_Scalar(0.5f);
         
diff --git a/intern/moto/include/MT_Quaternion.h b/intern/moto/include/MT_Quaternion.h
index b7703fe..6aabb1f 100644
--- a/intern/moto/include/MT_Quaternion.h
+++ b/intern/moto/include/MT_Quaternion.h
@@ -70,18 +70,18 @@ public:
     void setRotation(const MT_Vector3& axis, MT_Scalar mt_angle) {
         MT_Scalar d = axis.length();
         MT_assert(!MT_fuzzyZero(d));
-        MT_Scalar s = sin(mt_angle * MT_Scalar(0.5f)) / d;
+        MT_Scalar s = sinf(mt_angle * MT_Scalar(0.5f)) / d;
         setValue(axis[0] * s, axis[1] * s, axis[2] * s, 
-                 cos(mt_angle * MT_Scalar(0.5f)));
+                 cosf(mt_angle * MT_Scalar(0.5f)));
     }
 
     void setEuler(MT_Scalar yaw, MT_Scalar pitch, MT_Scalar roll) {
-        MT_Scalar cosYaw = cos(yaw * MT_Scalar(0.5f));
-        MT_Scalar sinYaw = sin(yaw * MT_Scalar(0.5f));
-        MT_Scalar cosPitch = cos(pitch * MT_Scalar(0.5f));
-        MT_Scalar sinPitch = sin(pitch * MT_Scalar(0.5f));
-        MT_Scalar cosRoll = cos(roll * MT_Scalar(0.5f));
-        MT_Scalar sinRoll = sin(roll * MT_Scalar(0.5f));
+        MT_Scalar cosYaw = cosf(yaw * MT_Scalar(0.5f));
+        MT_Scalar sinYaw = sinf(yaw * MT_Scalar(0.5f));
+        MT_Scalar cosPitch = cosf(pitch * MT_Scalar(0.5f));
+        MT_Scalar sinPitch = sinf(pitch * MT_Scalar(0.5f));
+        MT_Scalar cosRoll = cosf(roll * MT_Scalar(0.5f));
+        MT_Scalar sinRoll = sinf(roll * MT_Scalar(0.5f));
         setValue(cosRoll * sinPitch * cosYaw + sinRoll * cosPitch * sinYaw,
                  cosRoll * cosPitch * sinYaw - sinRoll * sinPitch * cosYaw,
                  sinRoll * cosPitch * cosYaw - cosRoll * sinPitch * sinYaw,
diff --git a/intern/moto/include/MT_Quaternion.inl b/intern/moto/include/MT_Quaternion.inl
index dcd9910..8fe71b7 100644
--- a/intern/moto/include/MT_Quaternion.inl
+++ b/intern/moto/include/MT_Quaternion.inl
@@ -29,10 +29,10 @@ GEN_INLINE MT_Quaternion MT_Quaternion::inverse() const {
 //       pg. 124-132
 GEN_INLINE MT_Quaternion MT_Quaternion::random() {
     MT_Scalar x0 = MT_random();
-    MT_Scalar r1 = sqrt(MT_Scalar(1.0f) - x0), r2 = sqrt(x0);
+    MT_Scalar r1 = sqrtf(MT_Scalar(1.0f) - x0), r2 = sqrtf(x0);
     MT_Scalar t1 = (float)MT_2_PI * MT_random(), t2 = (float)MT_2_PI * MT_random();
-    MT_Scalar c1 = cos(t1), s1 = sin(t1);
-    MT_Scalar c2 = cos(t2), s2 = sin(t2);
+    MT_Scalar c1 = cosf(t1), s1 = sinf(t1);
+    MT_Scalar c2 = cosf(t2), s2 = sinf(t2);
     return MT_Quaternion(s1 * r1, c1 * r1, s2 * r2, c2 * r2);
 }
 
@@ -62,14 +62,14 @@ GEN_INLINE MT_Quaternion operator*(const MT_Vector3& w, const MT_Quaternion& q)
 
 GEN_INLINE MT_Scalar MT_Quaternion::angle(const MT_Quaternion& q) const 
 {
-	MT_Scalar s = sqrt(length2() * q.length2());
+	MT_Scalar s = sqrtf(length2() * q.length2());
 	assert(s != MT_Scalar(0.0f));
 	
 	s = dot(q) / s;
 	
 	s = MT_clamp(s, -1.0f, 1.0f);
 	
-	return acos(s);
+	return acosf(s);
 }
 
 GEN_INLINE MT_Quaternion MT_Quaternion::slerp(const MT_Quaternion& q, const MT_Scalar& t) const
@@ -82,10 +82,10 @@ GEN_INLINE MT_Quaternion MT_Quaternion::slerp(const MT_Quaternion& q, const MT_S
 		s = -s;
 	if ((1.0f - s) > 0.0001f)
 	{
-		MT_Scalar theta = acos(s);
-		d = MT_Scalar(1.0f) / sin(theta);
-		s0 = sin((MT_Scalar(1.0f) - t) * theta);
-		s1 = sin(t * theta);
+		MT_Scalar theta = acosf(s);
+		d = MT_Scalar(1.0f) / sinf(theta);
+		s0 = sinf((MT_Scalar(1.0f) - t) * theta);
+		s1 = sinf(t * theta);
 	}
 	else
 	{
diff --git a/intern/moto/include/MT_Vector2.inl b/intern/moto/include/MT_Vector2.inl
index c975558..ed16025 100644
--- a/intern/moto/include/MT_Vector2.inl
+++ b/intern/moto/include/MT_Vector2.inl
@@ -48,7 +48,7 @@ GEN_INLINE MT_Scalar MT_Vector2::dot(const MT_Vector2& vv) const {
 }
 
 GEN_INLINE MT_Scalar MT_Vector2::length2() const { return dot(*this); }
-GEN_INLINE MT_Scalar MT_Vector2::length() const { return sqrt(length2()); }
+GEN_INLINE MT_Scalar MT_Vector2::length() const { return sqrtf(length2()); }
 
 GEN_INLINE MT_Vector2 MT_Vector2::absolute() const {
     return MT_Vector2(MT_abs(m_co[0]), MT_abs(m_co[1]));
@@ -68,9 +68,9 @@ GEN_INLINE MT_Vector2 MT_Vector2::scaled(MT_Scalar xx, MT_Scalar yy) const {
 }
 
 GEN_INLINE MT_Scalar MT_Vector2::angle(const MT_Vector2& vv) const {
-    MT_Scalar s = sqrt(length2() * vv.length2());
+    MT_Scalar s = sqrtf(length2() * vv.length2());
     MT_assert(!MT_fuzzyZero(s));
-    return acos(dot(vv) / s);
+    return acosf(dot(vv) / s);
 }
 
 
diff --git a/intern/moto/include/MT_Vector3.inl b/intern/moto/include/MT_Vector3.inl
index 8a2328f..7994bf7 100644
--- a/intern/moto/include/MT_Vector3.inl
+++ b/intern/moto/include/MT_Vector3.inl
@@ -52,7 +52,7 @@ GEN_INLINE MT_Scalar MT_Vector3::dot(const MT_Vector3& v) const {
 }
 
 GEN_INLINE MT_Scalar MT_Vector3::length2() const { return dot(*this); }
-GEN_INLINE MT_Scalar MT_Vector3::length() const { return sqrt(length2()); }
+GEN_INLINE MT_Scalar MT_Vector3::length() const { return sqrtf(length2()); }
 
 GEN_INLINE MT_Vector3 MT_Vector3::absolute() const {
     return MT_Vector3(MT_abs(m_co[0]), MT_abs(m_co[1]), MT_abs(m_co[2]));
@@ -93,9 +93,9 @@ GEN_INLINE MT_Vector3 MT_Vector3::scaled(MT_Scalar xx, MT_Scalar yy, MT_Scalar z
 }
 
 GEN_INLINE MT_Scalar MT_Vector3::angle(const MT_Vector3& v) const {
-    MT_Scalar s = sqrt(length2() * v.length2());
+    MT_Scalar s = sqrtf(length2() * v.length2());
     MT_assert(!MT_fuzzyZero(s));
-    return acos(dot(v) / s);
+    return acosf(dot(v) / s);
 }
 
 GEN_INLINE MT_Vector3 MT_Vector3::cross(const MT_Vector3& v) const {
@@ -117,9 +117,9 @@ GEN_INLINE int MT_Vector3::closestAxis() const {
 
 GEN_INLINE MT_Vector3 MT_Vector3::random() {
     MT_Scalar z = MT_Scalar(2.0f) * MT_random() - MT_Scalar(1.0f);
-    MT_Scalar r = sqrt(MT_Scalar(1.0f) - z * z);
+    MT_Scalar r = sqrtf(MT_Scalar(1.0f) - z * z);
     MT_Scalar t = (float)MT_2_PI * MT_random();
-    return MT_Vector3(r * cos(t), r * sin(t), z);
+    return MT_Vector3(r * cosf(t), r * sinf(t), z);
 }
 
 GEN_INLINE MT_Scalar  MT_dot(const MT_Vector3& v1, const MT_Vector3& v2) { 
diff --git a/intern/moto/include/MT_Vector4.inl b/intern/moto/include/MT_Vector4.inl
index 1196745..5b6e676 100644
--- a/intern/moto/include/MT_Vector4.inl
+++ b/intern/moto/include/MT_Vector4.inl
@@ -48,7 +48,7 @@ GEN_INLINE MT_Scalar MT_Vector4::dot(const MT_Vector4& v) const {
 }
 
 GEN_INLINE MT_Scalar MT_Vector4::length2() const { return MT_dot(*this, *this); }
-GEN_INLINE MT_Scalar MT_Vector4::length() const { return sqrt(length2()); }
+GEN_INLINE MT_Scalar MT_Vector4::length() const { return sqrtf(length2()); }
 
 GEN_INLINE MT_Vector4 MT_Vector4::absolute() const {
     return MT_Vector4(MT_abs(m_co[0]), MT_abs(m_co[1]), MT_abs(m_co[2]), MT_abs(m_co[3]));
diff --git a/source/gameengine/GamePlayer/ghost/GPG_System.cpp b/source/gameengine/GamePlayer/ghost/GPG_System.cpp
index 6710572..669ab05 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_System.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_System.cpp
@@ -46,7 +46,7 @@ double GPG_System::GetTimeInSeconds()
 {
 	GHOST_TInt64 millis = (GHOST_TInt64)m_system->getMilliSeconds();
 	double time = (double)millis;
-	time /= 1000.0f;
+	time /= 1000.0;
 	return time;
 }
 
diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp
index 76c7b4a..6988d56 100644
--- a/source/gameengine/Ketsji/KX_Camera.cpp
+++ b/source/gameengine/Ketsji/KX_Camera.cpp
@@ -294,7 +294,7 @@ void KX_Camera::NormalizeClipPlanes()
 	
 	for (unsigned int p = 0; p < 6; p++)
 	{
-		MT_Scalar factor = sqrt(m_planes[p][0]*m_planes[p][0] + m_planes[

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list