Author: bugman
Date: Thu Aug 28 16:33:37 2014
New Revision: 25388
URL: http://svn.gna.org/viewcvs/relax?rev=25388&view=rev
Log:
Fix for the Periodic_table.lookup_symbol() method.
The __init__() method of the Periodic_table has been reintroduced to initialise
a fast atomic symbol
lookup table. The _add() method then updates this table. And the
lookup_symbol() method now uses
this lookup table to correctly return the symbol.
Modified:
trunk/lib/periodic_table.py
Modified: trunk/lib/periodic_table.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/lib/periodic_table.py?rev=25388&r1=25387&r2=25388&view=diff
==============================================================================
--- trunk/lib/periodic_table.py (original)
+++ trunk/lib/periodic_table.py Thu Aug 28 16:33:37 2014
@@ -129,10 +129,17 @@
class Periodic_table(dict):
"""The periodic table object."""
+ def __init__(self):
+ """Set up the periodic table object."""
+
+ # Initialise a fast lookup table.
+ self._lookup_symbol = {}
+
+
def _add(self, atomic_number=None, symbol=None, name=None,
atomic_weight=None):
"""Add an element to the table.
- @keyword atomic_number: The atomic number.
+ @keyword atomic_number: The atomic number Z.
@type atomic_number: int
@keyword symbol: The atomic symbol.
@type symbol: str
@@ -147,6 +154,9 @@
# Add the element container.
self[symbol] = Element(atomic_number=atomic_number, name=name,
atomic_weight=atomic_weight)
+ # Update the fast lookup tables.
+ self._lookup_symbol[atomic_number] = symbol
+
# Return the container.
return self[symbol]
@@ -219,16 +229,16 @@
def lookup_symbol(self, atomic_number=None):
- """Return the atomic symbol corresponding to the atomic number.
-
- @keyword atomic_number: The atomic number.
+ """Return the atomic symbol corresponding to the atomic number Z.
+
+ @keyword atomic_number: The atomic number Z.
@type atomic_number: int
@return: The atomic symbol.
@rtype: str
"""
# Direct lookup.
- return self.symbol[atomic_number-1]
+ return self._lookup_symbol[atomic_number]
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits