예제 #1
0
 def __hash__(self):
     return hash(
         tuple((self.name, unyt_to_hashable(self.mass),
                unyt_to_hashable(self.charge), self.expression,
                tuple(self.independent_variables),
                tuple(self.parameters.keys()),
                tuple(
                    unyt_to_hashable(val)
                    for val in self.parameters.values()))))
예제 #2
0
 def __hash__(self):
     """Return the hash of the atom_type."""
     return hash(
         tuple(
             (
                 self.name,
                 unyt_to_hashable(self.mass),
                 unyt_to_hashable(self.charge),
                 self.potential_expression,
             )
         )
     )
예제 #3
0
파일: element.py 프로젝트: mosdef-hub/gmso
 def __hash__(self):
     """Generate an unique hash of the element for comparison."""
     return hash((
         self.name,
         self.symbol,
         self.atomic_number,
         unyt_to_hashable(self.mass),
     ))
예제 #4
0
 def __hash__(self):
     """Return hash of the potential expression."""
     if self._is_parametric:
         return hash(
             tuple((
                 self.expression,
                 tuple(self.independent_variables),
                 tuple(self.parameters.keys()),
                 tuple(
                     unyt_to_hashable(val)
                     for val in self.parameters.values()),
             )))
     else:
         return hash(
             tuple((self.expression, tuple(self.independent_variables))))
예제 #5
0
def test_unyt_to_hashable():
    hash(unyt_to_hashable(None))
    hash(unyt_to_hashable(1 * u.nm))
    hash(unyt_to_hashable([4, 4] * u.nm))

    assert hash(unyt_to_hashable(1 * u.nm)) == hash(unyt_to_hashable(10 * u.angstrom))
    assert hash(unyt_to_hashable(1 * u.kg)) == hash(unyt_to_hashable(1000 * u.g))

    assert hash(unyt_to_hashable(1 * u.nm)) != hash(unyt_to_hashable(1.01 * u.nm))
    assert hash(unyt_to_hashable(1 * u.nm)) != hash(unyt_to_hashable(1.01 * u.second))
    assert hash(unyt_to_hashable(1 * u.nm)) != hash(unyt_to_hashable([1, 1] * u.nm))
예제 #6
0
파일: element.py 프로젝트: zijiewu3/gmso
 def __hash__(self):
     return hash((self.name, self.symbol, self.atomic_number,
                  unyt_to_hashable(self.mass)))
예제 #7
0
파일: atom_type.py 프로젝트: bc118/gmso
 def __hash__(self):
     return hash(
         tuple((self.name, unyt_to_hashable(self.mass),
                unyt_to_hashable(self.charge), self.potential_expression)))