diff options
Diffstat (limited to 'qtip/utils/formula.py')
-rw-r--r-- | qtip/utils/formula.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/qtip/utils/formula.py b/qtip/utils/formula.py new file mode 100644 index 00000000..cdfbae86 --- /dev/null +++ b/qtip/utils/formula.py @@ -0,0 +1,29 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +import numpy + +from qtip.base.error import make_tbd +from qtip.base.constant import FormulaName + + +MAPPING = { + FormulaName.ARITHMETIC_MEAN: numpy.mean, + FormulaName.WEIGHTED_ARITHMETIC_MEAN: numpy.average, + # TODO(yujunz) find or implement the method + FormulaName.GEOMETRIC_MEAN: make_tbd(FormulaName.GEOMETRIC_MEAN, __name__), + # TODO(yujunz) find or implement the method + FormulaName.WEIGHTED_GEOMETRIC_MEAN: + make_tbd(FormulaName.GEOMETRIC_MEAN, __name__)} + + +class Formula: + """calculate a score from give data""" + def __init__(self, name): + self.calculate = MAPPING[name] |