diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-12-09 13:32:01 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-12-09 13:32:01 -0300 |
commit | 63afe4145f410a844c647d4e3f1059f568175c1e (patch) | |
tree | 15da6a890c78d73370f44f9fd5d59badfbbe60e4 /game/python-extra/utils/math.py | |
download | client-init.tar.gz client-init.tar.bz2 client-init.tar.xz client-init.zip |
Initial commit, forked from Spheresinit
Diffstat (limited to 'game/python-extra/utils/math.py')
-rw-r--r-- | game/python-extra/utils/math.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/game/python-extra/utils/math.py b/game/python-extra/utils/math.py new file mode 100644 index 0000000..eaae187 --- /dev/null +++ b/game/python-extra/utils/math.py @@ -0,0 +1,16 @@ +import collections +import operator + +# py3 doesn't include reduce as a builtin +try: + reduce +except NameError: + from functools import reduce + + +def product(sequence, initial=1): + """like the built-in sum, but for multiplication.""" + if not isinstance(sequence, collections.Iterable): + raise TypeError("'{}' object is not iterable".format(type(sequence).__name__)) + + return reduce(operator.mul, sequence, initial) |