Меняю типы данных. Авось поможет
authorMax <Infinity2573@gmail.com>
Tue, 11 Oct 2022 20:37:08 +0000 (23:37 +0300)
committerMax <Infinity2573@gmail.com>
Tue, 11 Oct 2022 20:37:08 +0000 (23:37 +0300)
src/dssptools.cpp
src/dssptools.h

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;
index b38bcd3bd0de5dc2cc9403cbea9bc4902f4ccc5f..1889c410e6470bf34b60324ddfe391365c4001de 100644 (file)
@@ -99,7 +99,7 @@ struct ResInfo {
     std::size_t                                                                     getIndex(backboneAtomTypes atomTypeName) const;
     t_resinfo                                                                       *info{nullptr}, *donor[2]{nullptr, nullptr}, *acceptor[2]{nullptr, nullptr};
     ResInfo                                                                         *prevResi{nullptr}, *nextResi{nullptr};
-    float                                                                           donorEnergy[2]{}, acceptorEnergy[2]{};
+    double                                                                           donorEnergy[2]{}, acceptorEnergy[2]{};
     bool                                                                            is_proline{false};
 };