Skip to content

Instantly share code, notes, and snippets.

View g2graman's full-sized avatar

Francesco Gramano g2graman

  • Toronto, Ontario, Canada
View GitHub Profile
@g2graman
g2graman / Interpreter.py
Last active August 29, 2015 14:18
Simple Interpreter (in Python) for a modified subset of Python which was made for creating simple recursive functions (based on foldl) and simple statements
from string import ascii_letters
from math import log
from math import ceil
def product(alphabet, up_to, repeat=1):
''' (list of strs, int, int) -> (list of strs)
Return the bounded cartesian product of alphabet with (repeat - 1)
other copies of itself, containing at most up_to elements.'''
@g2graman
g2graman / kd-bsearch.py
Created February 22, 2015 20:27
A k-dimensional generalization of binary search after first redefining what it means to be sorted in multiple dimensions (similar to the definition for ordering a kd-tree). There is room for improvement marked by the TODO on line 22 for improving performance. Made more accessible from https://github.com/g2graman/Miscellaneous/blob/master/Scripts…
def sort(L):
'''(list) -> list
Returns a sorted version of list L, where every element in L
must have the same number of dimensions.'''
m_len = len(max(L, key=len))
assert(all([len(x) == m_len for x in L])) #Make sure all elements have same length
return _sort(L, 0, m_len)