aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/Geo.py15
-rw-r--r--util/Search.py8
-rw-r--r--util/Strings.py1
3 files changed, 24 insertions, 0 deletions
diff --git a/util/Geo.py b/util/Geo.py
new file mode 100644
index 0000000..885c585
--- /dev/null
+++ b/util/Geo.py
@@ -0,0 +1,15 @@
+#Geometry code
+import math
+from bisect import *
+def pointWithinBoundingBox(point, bb): #this could be in 4 lines, but I'm lazy.
+ return sum([(point[i % 2] <= bb[i]) == (i>1) for i in range(4)]) == 4
+print pointWithinBoundingBox((118,21), (10,8,298,42))
+def addLocations(l1,l2):
+ return tuple([l1[i]+l2[i] for i in range(len(l1))])
+def gaussian(x,height,center,width):
+ a=height
+ b=center
+ c=width
+ return a*math.exp(-((x-b)**2)/(2*c**2))
+def dist(l1, l2):
+ return math.sqrt(sum([(l1[i]-l2[i])**2 for i in range(len(l1))]))
diff --git a/util/Search.py b/util/Search.py
new file mode 100644
index 0000000..25882da
--- /dev/null
+++ b/util/Search.py
@@ -0,0 +1,8 @@
+from bisect import *
+def find_le(a, x):
+ 'Find rightmost value less than or equal to x'
+ return bisect_right(a, x)-1
+
+def find_ge(a, x):
+ 'Find leftmost value greater than x'
+ return bisect_left(a, x)
diff --git a/util/Strings.py b/util/Strings.py
new file mode 100644
index 0000000..1331db4
--- /dev/null
+++ b/util/Strings.py
@@ -0,0 +1 @@
+LOCATION = 'Location'