Bumping to 1.0.0-2
[ejpi] / src / operation.py
index 4465f62..9a0cd5a 100644 (file)
@@ -5,8 +5,8 @@ import itertools
 import functools
 import decimal
 
-from libraries.recipes import overloading
-from libraries.recipes import algorithms
+from util import overloading
+from util import algorithms
 
 
 @overloading.overloaded
@@ -255,7 +255,7 @@ class Variable(Operation):
                return self
 
        def evaluate(self):
-               raise KeyError
+               raise KeyError('Variable "%s" unable to evaluate to specific value' % self.name)
 
 
 class Function(Operation):
@@ -306,7 +306,7 @@ class Function(Operation):
 
        def evaluate(self):
                selfArgs = [arg.evaluate() for arg in self._args]
-               return Value(self._op(*selfArgs))
+               return Value(self._op(*selfArgs), self.base)
 
        def _simplify(self):
                selfArgs = [arg.simplify() for arg in self._args]