Skip to content
Snippets Groups Projects
Commit 88763dae authored by Gareth Tribello's avatar Gareth Tribello
Browse files

Fixed a number of bugs that appear when the code is compiled without -DNDEBUG

parent bd67911a
No related branches found
No related tags found
No related merge requests found
...@@ -180,7 +180,6 @@ public: ...@@ -180,7 +180,6 @@ public:
inline inline
unsigned MultiColvar::getFirstDerivativeToMerge(){ unsigned MultiColvar::getFirstDerivativeToMerge(){
imerge_deriv=0; imerge_natoms=atoms_with_derivatives.getNumberActive(); imerge_deriv=0; imerge_natoms=atoms_with_derivatives.getNumberActive();
plumed_dbg_assert( colvar_atoms[current].isActive( atoms_with_derivatives[imerge_deriv] ) );
return 3*getAtomIndex( atoms_with_derivatives[imerge_deriv] ); return 3*getAtomIndex( atoms_with_derivatives[imerge_deriv] );
} }
...@@ -189,7 +188,6 @@ unsigned MultiColvar::getNextDerivativeToMerge( const unsigned& j){ ...@@ -189,7 +188,6 @@ unsigned MultiColvar::getNextDerivativeToMerge( const unsigned& j){
imerge_deriv++; imerge_deriv++;
if( imerge_deriv>=3*imerge_natoms ) return 3*getNumberOfAtoms() - 3*imerge_natoms + imerge_deriv; if( imerge_deriv>=3*imerge_natoms ) return 3*getNumberOfAtoms() - 3*imerge_natoms + imerge_deriv;
unsigned imerge_atom=std::floor( imerge_deriv / 3 ); unsigned imerge_atom=std::floor( imerge_deriv / 3 );
plumed_dbg_assert( colvar_atoms[current].isActive( atoms_with_derivatives[imerge_atom] ) );
return 3*getAtomIndex( imerge_atom ) + imerge_deriv%3; return 3*getAtomIndex( imerge_atom ) + imerge_deriv%3;
} }
......
...@@ -163,6 +163,8 @@ public: ...@@ -163,6 +163,8 @@ public:
unsigned fullSize() const; unsigned fullSize() const;
/// Return the number of elements that are currently active /// Return the number of elements that are currently active
unsigned getNumberActive() const; unsigned getNumberActive() const;
/// Find out if a member is active
bool isActive(const unsigned& ) const;
/// Add something to the active list /// Add something to the active list
void addIndexToList( const T & ii ); void addIndexToList( const T & ii );
/// Make a particular element inactive /// Make a particular element inactive
...@@ -194,6 +196,11 @@ void DynamicList<T>::clear() { ...@@ -194,6 +196,11 @@ void DynamicList<T>::clear() {
onoff.resize(0); active.resize(0); onoff.resize(0); active.resize(0);
} }
template <typename T>
bool DynamicList<T>::isActive( const unsigned& i ) const {
return (onoff[i]>0);
}
template <typename T> template <typename T>
unsigned DynamicList<T>::fullSize() const { unsigned DynamicList<T>::fullSize() const {
return all.size(); return all.size();
......
...@@ -207,10 +207,6 @@ void ActionWithVessel::addElementDerivative( const unsigned& ider, const double& ...@@ -207,10 +207,6 @@ void ActionWithVessel::addElementDerivative( const unsigned& ider, const double&
inline inline
void ActionWithVessel::setElementDerivative( const unsigned& ider, const double& der ){ void ActionWithVessel::setElementDerivative( const unsigned& ider, const double& der ){
#ifndef NDEBUG
unsigned ndertmp=getNumberOfDerivatives();
if( ider>=ndertmp && ider<2*ndertmp ) plumed_dbg_massert( weightHasDerivatives, "In " + getLabel() );
#endif
plumed_dbg_assert( ider<derivatives.size() ); plumed_dbg_assert( ider<derivatives.size() );
derivatives[ider] = der; derivatives[ider] = der;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment