Various changes.
[python_utils.git] / math_utils.py
index 2e126990fba0d7b9138f4a4b6238440aae89bb82..62771231bb67925483bcbf714fe2a8373b591058 100644 (file)
@@ -1,5 +1,6 @@
 #!/usr/bin/env python3
 
+import functools
 import math
 from typing import List
 from heapq import heappush, heappop
@@ -60,6 +61,23 @@ def truncate_float(n: float, decimals: int = 2):
     return int(n * multiplier) / multiplier
 
 
+def percentage_to_multiplier(percent: float) -> float:
+    multiplier = percent / 100
+    multiplier += 1.0
+    return multiplier
+
+
+def multiplier_to_percent(multiplier: float) -> float:
+    percent = multiplier
+    if percent > 0.0:
+        percent -= 1.0
+    else:
+        percent = 1.0 - percent
+    percent *= 100.0
+    return percent
+
+
[email protected]_cache(maxsize=1024, typed=True)
 def is_prime(n: int) -> bool:
     """Returns True if n is prime and False otherwise"""
     if not isinstance(n, int):