From a62f425cfdc48e5b132b8f73574f1f52bdf0c0b1 Mon Sep 17 00:00:00 2001
From: Andreas Schenk <andreas_schenk@hms.harvard.edu>
Date: Thu, 7 Jun 2012 10:05:07 -0400
Subject: [PATCH] removed one more pytho removed some unnecessary pow()

---
 modules/geom/src/vec3.cc                   | 11 +++++++----
 modules/mol/alg/src/local_dist_test.cc     |  2 +-
 modules/mol/alg/src/trajectory_analysis.cc |  2 +-
 modules/mol/base/src/coord_frame.cc        | 17 +++++++++--------
 4 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/modules/geom/src/vec3.cc b/modules/geom/src/vec3.cc
index 8480aac85..932432a1e 100644
--- a/modules/geom/src/vec3.cc
+++ b/modules/geom/src/vec3.cc
@@ -101,7 +101,8 @@ Line3 Vec3List::FitCylinder(const Vec3& initial_direction, const Vec3& center) c
   radius/=Real(n_res);
   res_sum=0.0;
   for (Vec3List::const_iterator i=this->begin(),e=this->end(); i!=e; ++i) {
-    res_sum+=pow(Distance(axis,(*i))-radius,2.);
+    Real r=Distance(axis,(*i))-radius;
+    res_sum+=r*r;
   }
   unsigned long k=0;
   err=2.0*prec;
@@ -110,7 +111,7 @@ Line3 Vec3List::FitCylinder(const Vec3& initial_direction, const Vec3& center) c
     axis_old=axis;
     radius=0.0;
     if (k>50) {
-      delta=delta_0*pow((50./k),2.0);
+      delta=delta_0*50.0*50.0/(k*k);
     }
     for (Vec3List::const_iterator i=this->begin(),e=this->end(); i!=e; ++i) {
       radius+=Distance(axis,(*i));
@@ -127,7 +128,8 @@ Line3 Vec3List::FitCylinder(const Vec3& initial_direction, const Vec3& center) c
       }
       radius/=Real(n_res);
       for (Vec3List::const_iterator i=this->begin(),e=this->end(); i!=e; ++i) {
-        res_sum+=pow(Distance(axis,(*i))-radius,2.);
+        Real r=Distance(axis,(*i))-radius;
+        res_sum+=r*r;
       }
       gradient[j]=(res_sum-res_sum_old)/delta;
     }
@@ -143,7 +145,8 @@ Line3 Vec3List::FitCylinder(const Vec3& initial_direction, const Vec3& center) c
     radius/=Real(n_res);
     res_sum=0.0;
     for (Vec3List::const_iterator i=this->begin(),e=this->end(); i!=e; ++i) {
-      res_sum+=pow(Distance(axis,(*i))-radius,2.);
+      Real r=Distance(axis,(*i))-radius;
+      res_sum+=r*r;
     }
     err=fabs((res_sum-res_sum_old)/float(n_res));
     k++;
diff --git a/modules/mol/alg/src/local_dist_test.cc b/modules/mol/alg/src/local_dist_test.cc
index 4c4bd2e25..89da8c9ae 100644
--- a/modules/mol/alg/src/local_dist_test.cc
+++ b/modules/mol/alg/src/local_dist_test.cc
@@ -276,7 +276,7 @@ bool UniqueAtomIdentifier::operator==(const UniqueAtomIdentifier& rhs) const
 
 bool ReferenceDistance::IsValid() const 
 {
-  if (mind_ == -1.0 and maxd_ == -1.0) {
+  if (mind_ == -1.0 && maxd_ == -1.0) {
     return false;
   } 
   return true;
diff --git a/modules/mol/alg/src/trajectory_analysis.cc b/modules/mol/alg/src/trajectory_analysis.cc
index 4a2671c01..5adf3c6eb 100644
--- a/modules/mol/alg/src/trajectory_analysis.cc
+++ b/modules/mol/alg/src/trajectory_analysis.cc
@@ -396,7 +396,7 @@ std::vector<Real> AnalyzeAromaticRingInteraction(const CoordGroupHandle& traj, c
         rmsf+=geom::Dot(v,v);
       }
     }
-    return pow(rmsf/float(n_atoms*n_frames),0.5);
+    return sqrt(rmsf/float(n_atoms*n_frames));
   }
   
 }}} //ns
diff --git a/modules/mol/base/src/coord_frame.cc b/modules/mol/base/src/coord_frame.cc
index 1c30611b3..bbaa5ccab 100644
--- a/modules/mol/base/src/coord_frame.cc
+++ b/modules/mol/base/src/coord_frame.cc
@@ -39,13 +39,12 @@ namespace ost { namespace mol {
     */
     Real Eval2AngleDist(Real phi, Real phi0, Real psi, Real psi0, Real delta)
     {
-      Real d1,d2,d;
-      d1=abs(phi-phi0);
-      d2=abs(psi-psi0);
+      Real d1=abs(phi-phi0);
+      Real d2=abs(psi-psi0);
       if (d1>M_PI) d1=abs(d1-2.*M_PI);
       if (d2>M_PI) d1=abs(d2-2.*M_PI);
-      d=(pow(d1,2.)+pow(d2,2.))/pow(delta,2.);
-      return 1./(1+d);
+      Real d=(d1*d1+d2*d2)/(delta*delta);
+      return 1.0/(1.0+d);
     }
   }
 
@@ -138,7 +137,7 @@ namespace ost { namespace mol {
       val=geom::Length2(av_ref-av_sele);
       rmsd+=val;
     }
-    return pow(rmsd/indices_sele.size(),0.5);
+    return sqrt(rmsd/indices_sele.size());
   }
   
   Real CoordFrame::GetRMSD(const EntityView& reference_view,const EntityView& sele_view) const
@@ -303,8 +302,10 @@ namespace ost { namespace mol {
       psi=geom::DihedralAngle(n,ca,c,n_next);
       score.push_back(Eval2AngleDist(phi,phi_0,psi,psi_0,delta));
     }
-    score2[0]=pow(score[0]*score[1],3./2.);
-    score2[n_atoms-3]=pow(score[n_atoms-3]*score[n_atoms-4],3./2.);
+    score2[0]=sqrt(score[0]*score[1]*score[0]*score[1]*score[0]*score[1]);
+    score2[n_atoms-3]=sqrt(score[n_atoms-3]*score[n_atoms-4]*
+                           score[n_atoms-3]*score[n_atoms-4]*
+                           score[n_atoms-3]*score[n_atoms-4]);
     for (unsigned long i=1; i!=n_atoms-3; ++i) {
       score2[i]=score[i-1]*score[i]*score[i+1];
     }
-- 
GitLab