summary refs log tree commit diff
path: root/src/Quaternions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Quaternions.cpp')
-rw-r--r--src/Quaternions.cpp32
1 files changed, 5 insertions, 27 deletions
diff --git a/src/Quaternions.cpp b/src/Quaternions.cpp
index 6edbd3a..9ce344f 100644
--- a/src/Quaternions.cpp
+++ b/src/Quaternions.cpp
@@ -120,7 +120,7 @@ quaternion To_Quat(Matrix_t m)
         int i,j,k;
         if (Tr >= 1.0)
         {
-                fourD = 2.0*fast_sqrt(Tr);
+                fourD = 2.0 * sqrt(Tr);
                 q[3] = fourD/4.0;
                 q[0] = (m[2][1] - m[1][2]) / fourD;
                 q[1] = (m[0][2] - m[2][0]) / fourD;
@@ -142,7 +142,7 @@ quaternion To_Quat(Matrix_t m)
                 }
                 j = (i+1)%3;
                 k = (j+1)%3;
-                fourD = 2.0*fast_sqrt(m[i][i] - m[j][j] - m[k][k] + 1.0);
+                fourD = 2.0 * sqrt(m[i][i] - m[j][j] - m[k][k] + 1.0);
                 q[i] = fourD / 4.0;
                 q[j] = (m[j][i] + m[i][j]) / fourD;
                 q[k] = (m[k][i] + m[i][k]) / fourD;
@@ -276,35 +276,13 @@ void CrossProduct(XYZ P, XYZ Q, XYZ *V){
 }
 
 void Normalise(XYZ *vectory) {
-	float d = fast_sqrt(vectory->x*vectory->x+vectory->y*vectory->y+vectory->z*vectory->z);
+	float d = sqrt(vectory->x*vectory->x+vectory->y*vectory->y+vectory->z*vectory->z);
 	if(d==0){return;}
 	vectory->x /= d;
 	vectory->y /= d;
 	vectory->z /= d;
 }
 
-float fast_sqrt (register float arg)
-{	
-#ifdef OS9 
-	// Can replace with slower return std::sqrt(arg);
-	register float result;
-
-	if (arg == 0.0) return 0.0;
-	
-	asm {
-		frsqrte		result,arg			// Calculate Square root
-	}	
-	
-	// Newton Rhapson iterations.
-	result = result + 0.5 * result * (1.0 - arg * result * result);
-	result = result + 0.5 * result * (1.0 - arg * result * result);
-	
-	return result * arg;
-#else
-	return sqrt(arg);
-#endif
-}
-
 float normaldotproduct(XYZ point1, XYZ point2){
 	GLfloat returnvalue;
 	Normalise(&point1);
@@ -612,11 +590,11 @@ float dotproduct(XYZ point1, XYZ point2){
 }
 
 float findDistance(XYZ point1, XYZ point2){
-	return(fast_sqrt((point1.x-point2.x)*(point1.x-point2.x)+(point1.y-point2.y)*(point1.y-point2.y)+(point1.z-point2.z)*(point1.z-point2.z)));
+	return sqrt((point1.x-point2.x)*(point1.x-point2.x)+(point1.y-point2.y)*(point1.y-point2.y)+(point1.z-point2.z)*(point1.z-point2.z));
 }
 
 float findLength(XYZ point1){
-	return(fast_sqrt((point1.x)*(point1.x)+(point1.y)*(point1.y)+(point1.z)*(point1.z)));
+	return sqrt((point1.x)*(point1.x)+(point1.y)*(point1.y)+(point1.z)*(point1.z));
 }