Меняю типы данных. Авось поможет
[alexxy/gromacs-dssp.git] / src / dssptools.cpp
index f1c2c7487e2e086f320d6a2e2ea1298d483c7cb2..291e56cf12f5e8de149e414c3a3ba204f39fb152 100644 (file)
@@ -212,8 +212,8 @@ bool secondaryStructures::hasHBondBetween(std::size_t Donor, std::size_t Accepto
 //        std::cout << std::endl;
 //    }
 
-        return (( ((*ResInfoMap)[Donor].acceptor[0] == (*ResInfoMap)[Acceptor].info) && ((*ResInfoMap)[Donor].acceptorEnergy[0] < HBondEnergyCutOff )) ||
-                ( ((*ResInfoMap)[Donor].acceptor[1] == (*ResInfoMap)[Acceptor].info) && ((*ResInfoMap)[Donor].acceptorEnergy[1] < HBondEnergyCutOff )) );
+    return (( (*ResInfoMap)[Donor].acceptor[0] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[0] < HBondEnergyCutOff ) ||
+           ( (*ResInfoMap)[Donor].acceptor[1] == (*ResInfoMap)[Acceptor].info && (*ResInfoMap)[Donor].acceptorEnergy[1] < HBondEnergyCutOff ));
 
 
 }
@@ -916,11 +916,11 @@ void DsspTool::calculateHBondEnergy(ResInfo& Donor,
         return void();
     }
 
-    const float kCouplingConstant = 27.888;
-    const float minimalAtomDistance{ 0.5 },
-            minEnergy{ -9.9 };
-    float HbondEnergy{ 0 };
-    float distanceNO{ 0 }, distanceHC{ 0 }, distanceHO{ 0 }, distanceNC{ 0 };
+    const double kCouplingConstant = 27.888f;
+    const double minimalAtomDistance{ 0.5f },
+            minEnergy{ -9.9f };
+    double HbondEnergy{ 0 };
+    double distanceNO{ 0 }, distanceHC{ 0 }, distanceHO{ 0 }, distanceNC{ 0 };
 
 //    std::cout << "For Donor №" << Donor.info->nr - 1 << " and Accpetor №" << Acceptor.info->nr - 1 << std::endl;
 
@@ -993,6 +993,7 @@ void DsspTool::calculateHBondEnergy(ResInfo& Donor,
            Donor.acceptorEnergy[1] = HbondEnergy;
     }
 
+
     if (HbondEnergy < Acceptor.donorEnergy[0]){
            Acceptor.donor[1] = Acceptor.donor[0];
            Acceptor.donor[0] = Donor.info;