X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=src%2Ftask5%2Ftask5-nore.ipynb;h=7fdcae6cda2e7580839ff351936952cdfbb78c77;hb=71da18e8360633ccc00b74ef62fd1fe60a3b9cda;hp=0d215fdea9aee21ee2df4ff1822cbe6be7942baa;hpb=6e2b9f4076f380e747db63e75ac8abaad3e6e2bf;p=summerofcode2018soln.git diff --git a/src/task5/task5-nore.ipynb b/src/task5/task5-nore.ipynb index 0d215fd..7fdcae6 100644 --- a/src/task5/task5-nore.ipynb +++ b/src/task5/task5-nore.ipynb @@ -30,7 +30,7 @@ "metadata": {}, "outputs": [], "source": [ - "def decomment_no_re(text):\n", + "def decomment(text):\n", " s, e = find_comment(text)\n", " while s is not None:\n", " text = text[:s] + text[e+1:]\n", @@ -53,8 +53,6 @@ " if end > -1:\n", " length = int(text[start+1:mid])\n", " times = int(text[mid+1:end])\n", - " if length > start:\n", - " length = start\n", " return start, end, length, times\n", " return None, None, None, None" ] @@ -65,10 +63,11 @@ "metadata": {}, "outputs": [], "source": [ - "def expand_no_re(text, expansion_limit=None):\n", + "def expand(text, expansion_limit=None):\n", " i = 1\n", " s, e, l, n = find_expansion_mark(text)\n", - " while s and (expansion_limit is None or (expansion_limit is not None and i <= expansion_limit)):\n", + " while s is not None and (expansion_limit is None or (expansion_limit is not None and i <= expansion_limit)):\n", + " if l > s: l = s\n", " text = text[:s-l] + text[s-l:s] * n + text[e+1:]\n", " s, e, l, n = find_expansion_mark(text)\n", " i += 1\n", @@ -90,8 +89,8 @@ "metadata": {}, "outputs": [], "source": [ - "data_p = [decomment_no_re(l) for l in data_p_t]\n", - "data = [expand_no_re(l) for l in data_p]" + "data_p = [decomment(l) for l in data_p_t]\n", + "data = [expand(l) for l in data_p]" ] }, { @@ -141,8 +140,8 @@ "outputs": [], "source": [ "data_s_p_t = open('../../data/05-instructions.txt').read()\n", - "data_s_p = decomment_no_re(data_s_p_t)\n", - "data_s = expand_no_re(data_s_p)" + "data_s_p = decomment(data_s_p_t)\n", + "data_s = expand(data_s_p)" ] }, { @@ -194,14 +193,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "23.7 ms ± 1.79 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "22.7 ms ± 1.6 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], "source": [ "%%timeit\n", - "data_p = [decomment_no_re(l) for l in data_p_t]\n", - "data = [expand_no_re(l) for l in data_p]" + "data_p = [decomment(l) for l in data_p_t]\n", + "data = [expand(l) for l in data_p]" ] }, { @@ -213,14 +212,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "360 ms ± 6.67 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" + "354 ms ± 7.34 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], "source": [ "%%timeit\n", - "data_s_p = decomment_no_re(data_s_p_t)\n", - "data_s = expand_no_re(data_s_p)" + "data_s_p = decomment(data_s_p_t)\n", + "data_s = expand(data_s_p)" ] }, {