Source code for autowisp.fit_expression.used_var_finder

"""Define dict-like class tracking vars used when evaluating fit expressions."""

import numpy


[docs] class UsedVarFinder: """Record the names of all keys not in default symtable ever requested."""
[docs] def __contains__(self, key): """Is the given key in either the default symtable or data dtype.""" return True
[docs] def __getitem__(self, key): """1.0 if key is one of the data otherwise default symtable entry""" if key in self._default_symtable: return self._default_symtable[key] self._used.add(key) return numpy.array([1.0])
[docs] def __init__(self, default_symtable): """Set the symtable before data is given and dtype to track usage of.""" self._default_symtable = default_symtable self._used = set()
[docs] def get_used_vars(self): """Return the names of the variables used so far.""" return self._used