From a93181bcd85d1c0c3df16d81ec095eeb373d10bd Mon Sep 17 00:00:00 2001 From: ddorn Date: Wed, 3 Jun 2020 15:18:00 +0200 Subject: [PATCH] :sparkles: calc: more functions and implicit multiplication --- src/cogs/misc.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/cogs/misc.py b/src/cogs/misc.py index 3e9c80c..440ab17 100644 --- a/src/cogs/misc.py +++ b/src/cogs/misc.py @@ -11,7 +11,7 @@ import urllib from collections import Counter, defaultdict from dataclasses import dataclass, field from functools import partial -from math import * +import math from operator import attrgetter, itemgetter from time import time from typing import List, Set, Union @@ -35,11 +35,13 @@ OPS = { ast.Add: op.add, ast.Sub: op.sub, ast.Mult: op.mul, ast.FloorDiv: op.floordiv, ast.Mod: op.mod, ast.Div: op.truediv, ast.Pow: op.pow, ast.BitXor: op.xor, - ast.USub: op.neg, "sin": sin, "cos": cos, "pi": pi, "exp": exp, - "log": log, "abs": abs, "sqrt": sqrt, "tau": 2*pi, "π": pi, "τ": 2*pi, - "e": e, "i": 1j, + ast.USub: op.neg, "abs": abs, "π": math.pi, "τ": math.tau, + "i": 1j, } +for name in dir(math): + if not name.startswith("_"): + OPS[name] = getattr(math, name) @dataclass class Joke(yaml.YAMLObject): @@ -225,7 +227,7 @@ class MiscCog(Cog, name="Divers"): for prefix in ("! ", "!", "calc", "="): if query.startswith(prefix): query = query[len(prefix):] - query = re.sub(r"(\d)i", r"\1*i", query) + query = re.sub(r"\b((\d)+(\.\d+)?)(?P[a-zA-Z]+)\b", r"\1*\4", query) query = query.strip().strip("`")