version 1.16 | version 1.17 |
---|
| |
void set_elem(int const icv, colvarvalue const &x); | void set_elem(int const icv, colvarvalue const &x); |
| |
/// Get a scalar number out of an element of the vector | /// Get a scalar number out of an element of the vector |
inline cvm::real operator [] (int const i) const | cvm::real operator [] (int const i) const; |
{ | |
if (vector1d_value.size() > 0) { | |
return vector1d_value[i]; | |
} else { | |
cvm::error("Error: trying to use as a vector a variable that is not initialized as such.\n"); | |
return 0.0; | |
} | |
} | |
| |
/// Use an element of the vector as a scalar number | /// Use an element of the vector as a scalar number |
inline cvm::real & operator [] (int const i) | cvm::real & operator [] (int const i); |
{ | |
if (vector1d_value.size() > 0) { | |
return vector1d_value[i]; | |
} else { | |
cvm::error("Error: trying to use as a vector a variable that is not initialized as such.\n"); | |
real_value = 0.0; | |
return real_value; | |
} | |
} | |
| |
| |
/// Ensure that the two types are the same within a binary operator | /// Ensure that the two types are the same within a binary operator |
int static check_types(colvarvalue const &x1, colvarvalue const &x2); | int static check_types(colvarvalue const &x1, colvarvalue const &x2); |
| |
} | } |
| |
| |
| inline cvm::real colvarvalue::operator [] (int const i) const |
| { |
| switch (value_type) { |
| case colvarvalue::type_notset: |
| default: |
| cvm::error("Error: trying to access a colvar value " |
| "that is not initialized.\n", BUG_ERROR); |
| return 0.0; break; |
| case colvarvalue::type_scalar: |
| return real_value; break; |
| case colvarvalue::type_3vector: |
| case colvarvalue::type_unit3vector: |
| case colvarvalue::type_unit3vectorderiv: |
| return rvector_value[i]; break; |
| case colvarvalue::type_quaternion: |
| case colvarvalue::type_quaternionderiv: |
| return quaternion_value[i]; break; |
| case colvarvalue::type_vector: |
| return vector1d_value[i]; break; |
| } |
| } |
| |
| |
| inline cvm::real & colvarvalue::operator [] (int const i) |
| { |
| switch (value_type) { |
| case colvarvalue::type_notset: |
| default: |
| cvm::error("Error: trying to access a colvar value " |
| "that is not initialized.\n", BUG_ERROR); |
| return real_value; break; |
| case colvarvalue::type_scalar: |
| return real_value; break; |
| case colvarvalue::type_3vector: |
| case colvarvalue::type_unit3vector: |
| case colvarvalue::type_unit3vectorderiv: |
| return rvector_value[i]; break; |
| case colvarvalue::type_quaternion: |
| case colvarvalue::type_quaternionderiv: |
| return quaternion_value[i]; break; |
| case colvarvalue::type_vector: |
| return vector1d_value[i]; break; |
| } |
| } |
| |
| |
inline int colvarvalue::check_types(colvarvalue const &x1, | inline int colvarvalue::check_types(colvarvalue const &x1, |
colvarvalue const &x2) | colvarvalue const &x2) |
{ | { |