From 3071983fa0e2d9929d221550ec5c1137da5cfd10 Mon Sep 17 00:00:00 2001 From: Sumner Date: Thu, 27 Jun 2019 14:10:18 +0200 Subject: [PATCH 1/9] numba can't handle strings --- jupyter/LabeledRanges.ipynb | 41 ++++++++++++++++++++++++++- lrng/lrng.py | 56 +++++++++++++++++++++++++++++-------- 2 files changed, 84 insertions(+), 13 deletions(-) diff --git a/jupyter/LabeledRanges.ipynb b/jupyter/LabeledRanges.ipynb index 69d7e29..02b4d67 100644 --- a/jupyter/LabeledRanges.ipynb +++ b/jupyter/LabeledRanges.ipynb @@ -4,7 +4,46 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "str" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numba\n", + "from numba import typeof\n", + "typeof('i am a string')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "spec values should be Numba type instances, got ", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mlrng\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLabeledRange\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLabeledRanges\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/Projects/lrng/lrng/__init__.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mlrng\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLabeledRange\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLabeledRanges\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'lrng'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mversion\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'0.0.0'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mdescription\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'Labeled Ranges'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Projects/lrng/lrng/lrng.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 11\u001b[0m ]\n\u001b[1;32m 12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mjitclass\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabeled_range_spec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mLabeledRange\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m '''\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/jitclass/decorators.py\u001b[0m in \u001b[0;36mwrap\u001b[0;34m(cls)\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mregister_class_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mspec\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mClassType\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mClassBuilder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrap\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/jitclass/base.py\u001b[0m in \u001b[0;36mregister_class_type\u001b[0;34m(cls, spec, class_ctor, builder)\u001b[0m\n\u001b[1;32m 153\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mspec\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSequence\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 154\u001b[0m \u001b[0mspec\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mOrderedDict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mspec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 155\u001b[0;31m \u001b[0m_validate_spec\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mspec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 156\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[0;31m# Fix up private attribute names\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/jitclass/base.py\u001b[0m in \u001b[0;36m_validate_spec\u001b[0;34m(spec)\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mType\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 125\u001b[0m raise TypeError(\"spec values should be Numba type instances, got %r\"\n\u001b[0;32m--> 126\u001b[0;31m % (v,))\n\u001b[0m\u001b[1;32m 127\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 128\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: spec values should be Numba type instances, got " + ] + } + ], "source": [ "from lrng import LabeledRange, LabeledRanges" ] diff --git a/lrng/lrng.py b/lrng/lrng.py index 9024f41..a36fb95 100644 --- a/lrng/lrng.py +++ b/lrng/lrng.py @@ -1,6 +1,16 @@ from numbers import Number from copy import copy, deepcopy +from numba import jitclass, int32 + + +labeled_range_spec = [ + ('name', str), + ('start', int32), + ('stop', int32) +] + +@jitclass(labeled_range_spec) class LabeledRange: ''' A helper class for keeping track of the start / stop of a given class in a @@ -18,10 +28,18 @@ class LabeledRange: self.start = int(start) self.stop = int(stop) - ''' Various conversions from LabeledRange to pythonic types ''' + def as_instance(self): + # isinstance() only works in the interpreter. + return self.__class__.__name__ + + def shares_class_q(self, other): + if hasattr(other, 'as_instance'): + return self.as_instance() == other.as_instance() + return False + def as_list(self): return [self.name, self.start, self.stop] def as_str_list(self): @@ -47,14 +65,16 @@ class LabeledRange: def __iter__(self): return (e for e in self.as_list()) def __eq__(self, other): - if not isinstance(other, LabeledRange): - return False + # if not isinstance(other, LabeledRange): + # return False return (self.name == other.name) and \ (self.start == other.start) and \ (self.stop == other.stop) def __ne__(self, other): return not self.__eq__(other) + + def __contains__(self, other): ''' Arguments: @@ -64,18 +84,21 @@ class LabeledRange: Returns: results (bool) ''' - if isinstance(other, Number): - return self.start <= other <= self.stop - if not isinstance(other, LabeledRange): - return False - if not other.same_q(self): - return False - return other.start in self and other.stop in self + if self.shares_class_q(other): # other is also LabeledRange: + if not other.same_q(self): + return False + return other.start in self and other.stop in self + else: # expecting a number + try: + return self.start <= other <= self.stop + except ValueError: + return False + return False def same_q(self, other): '''Whether or not other is of the same class''' - if not isinstance(other, LabeledRange): + if not self.shares_class_q(other): return False return self.name == other.name @@ -101,7 +124,7 @@ class LabeledRange: ''' Attempt to combine two ranges together. ''' - if not isinstance(other, LabeledRange): + if not self.shares_class_q(other): raise ValueError('{} is not a LabeledRange'.format(other)) if not self.overlap_q(other): return LabeledRanges([deepcopy(self), deepcopy(other)]) @@ -116,6 +139,15 @@ class LabeledRange: class LabeledRanges: + def as_instance(self): + # isinstance() only works in the interpreter. + return self.__class__.__name__ + + def shares_class_q(self, other): + if hasattr(other, 'as_instance'): + return self.as_instance() == other.as_instance() + return False + def __init__(self, ranges:list=[]): self.ranges = ranges -- GitLab From 7281260a6d3f927631899700cbdc698d60ceacb2 Mon Sep 17 00:00:00 2001 From: Sumner Date: Thu, 27 Jun 2019 15:50:26 +0200 Subject: [PATCH 2/9] numba njit is whining --- jupyter/LabeledRanges.ipynb | 112 +- jupyter/Stress Test.ipynb | 2892 ++++++++++++++++++++++++++++++++++- lrng/__init__.py | 3 +- lrng/lrng.py | 72 +- 4 files changed, 2959 insertions(+), 120 deletions(-) diff --git a/jupyter/LabeledRanges.ipynb b/jupyter/LabeledRanges.ipynb index 02b4d67..2141edc 100644 --- a/jupyter/LabeledRanges.ipynb +++ b/jupyter/LabeledRanges.ipynb @@ -4,53 +4,53 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "str" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "import numba\n", - "from numba import typeof\n", - "typeof('i am a string')" + "import numba" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, + "outputs": [], + "source": [ + "from lrng import LabeledRange, LabeledRanges\n", + "from lrng.lrng import coalesce" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, "outputs": [ { - "ename": "TypeError", - "evalue": "spec values should be Numba type instances, got ", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mlrng\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLabeledRange\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLabeledRanges\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/Projects/lrng/lrng/__init__.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mlrng\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLabeledRange\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLabeledRanges\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'lrng'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mversion\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'0.0.0'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mdescription\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'Labeled Ranges'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/Projects/lrng/lrng/lrng.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 11\u001b[0m ]\n\u001b[1;32m 12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mjitclass\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabeled_range_spec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0;32mclass\u001b[0m \u001b[0mLabeledRange\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m '''\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/jitclass/decorators.py\u001b[0m in \u001b[0;36mwrap\u001b[0;34m(cls)\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mregister_class_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mspec\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mClassType\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mClassBuilder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrap\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/jitclass/base.py\u001b[0m in \u001b[0;36mregister_class_type\u001b[0;34m(cls, spec, class_ctor, builder)\u001b[0m\n\u001b[1;32m 153\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mspec\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSequence\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 154\u001b[0m \u001b[0mspec\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mOrderedDict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mspec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 155\u001b[0;31m \u001b[0m_validate_spec\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mspec\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 156\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[0;31m# Fix up private attribute names\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/jitclass/base.py\u001b[0m in \u001b[0;36m_validate_spec\u001b[0;34m(spec)\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mType\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 125\u001b[0m raise TypeError(\"spec values should be Numba type instances, got %r\"\n\u001b[0;32m--> 126\u001b[0;31m % (v,))\n\u001b[0m\u001b[1;32m 127\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 128\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: spec values should be Numba type instances, got " - ] + "data": { + "text/plain": [ + "[['Type B', 10, 150], ['Type A', 10, 150], ['Type A', 200, 300]]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "from lrng import LabeledRange, LabeledRanges" + "coalesce([\n", + " ['Type B', 10, 100],\n", + " ['Type A', 50, 75],\n", + " ['Type B', 50, 150],\n", + " ['Type A', 10, 100],\n", + " \n", + " ['Type A', 200, 300],\n", + " \n", + " ['Type A', 15, 150],\n", + "])" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -62,6 +62,26 @@ "f = LabeledRange('Type B', 50, 150)" ] }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'LabeledRange'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a.as_instance()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -71,30 +91,18 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "LabeledRange('Type A', 10, 100)\n", - "LabeledRange('Type A', 10, 150)\n", - "LabeledRange('Type A', 10, 150)\n", - "LabeledRanges(\n", - "\tLabeledRange('Type A', 10, 150)\n", - "\tLabeledRange('Type A', 200, 300)\n", - ")\n", - "LabeledRanges(\n", - "\tLabeledRange('Type A', 10, 150)\n", - "\tLabeledRange('Type B', 10, 100)\n", - "\tLabeledRange('Type A', 200, 300)\n", - ")\n", - "LabeledRanges(\n", - "\tLabeledRange('Type A', 10, 150)\n", - "\tLabeledRange('Type A', 200, 300)\n", - "\tLabeledRange('Type B', 10, 150)\n", - ")\n" + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'LabeledRange' and 'LabeledRange'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m print(\n\u001b[1;32m 2\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mc\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0md\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'LabeledRange' and 'LabeledRange'" ] } ], diff --git a/jupyter/Stress Test.ipynb b/jupyter/Stress Test.ipynb index 359b2d1..1ef1de8 100644 --- a/jupyter/Stress Test.ipynb +++ b/jupyter/Stress Test.ipynb @@ -2,14 +2,15 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# only python libraries used for conveninece to others looking at this\n", "\n", "# custom classes for optimization\n", - "from lrng import LabeledRange, LabeledRanges\n", + "from lrng import LabeledRange, LabeledRanges, coalesce \n", + "from lrng.lrng import _keep_range, label\n", "\n", "# for making dummy data\n", "from random import randint, choice\n", @@ -21,29 +22,30 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# how many range types\n", - "types = ['Type {}'.format(t) for t in 'AB']\n", + "# types = ['Type {}'.format(t) for t in 'AB']\n", + "types = [t for t in range(2)]\n", "\n", "# ranges to make\n", - "num_ranges = 1000000\n", + "num_ranges = 100#0000\n", "\n", "# minimum range length\n", "min_len_val = 2\n", "\n", "# maximum range length\n", - "max_len_val = 1000\n", + "max_len_val = 10#00\n", "\n", "# total length of the range\n", - "total_len = 100000" + "total_len = 100#000" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -58,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -70,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -84,50 +86,49 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# for printing\n", - "_pool_count = Value('i', -1, lock=True)\n", "\n", "\n", - "# whether or not the current \"known range\" (_range) is relevant for the current unknown stretch\n", - "def _keep_range(start, stop, _range):\n", - " _type, range_start, range_stop = _range\n", - " if range_stop < start: return\n", - " if range_start > stop: return\n", - " if not (\n", - " start <= range_start <= stop or \\\n", - " start <= range_stop <= stop or \\\n", - " range_start <= start <= range_stop or \\\n", - " range_start <= stop <= range_stop\n", - " ):\n", - " return\n", - " return _range\n", + "# # whether or not the current \"known range\" (_range) is relevant for the current unknown stretch\n", + "# def _keep_range(start, stop, _range):\n", + "# _type, range_start, range_stop = _range\n", + "# if range_stop < start: return\n", + "# if range_start > stop: return\n", + "# if not (\n", + "# start <= range_start <= stop or \\\n", + "# start <= range_stop <= stop or \\\n", + "# range_start <= start <= range_stop or \\\n", + "# range_start <= stop <= range_stop\n", + "# ):\n", + "# return\n", + "# return _range\n", "\n", - "# extract relevant reference ranges\n", - "def label(unknown_range, reference_ranges, processes=1, total=None, throttle=50):\n", - " start, stop = unknown_range\n", - " if processes is None: \n", - " processes = os.cpu_count()\n", - " if processes == 1:\n", - " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", - " else:\n", - " with Pool(processes=processes) as pool:\n", - " res = pool.starmap(_keep_range, [(start, stop, _range) for _range in reference_ranges])\n", + "# # extract relevant reference ranges\n", + "# def label(unknown_range, reference_ranges, processes=1, total=None, throttle=50):\n", + "# start, stop = unknown_range\n", + "# if processes is None: \n", + "# processes = os.cpu_count()\n", + "# if processes == 1:\n", + "# res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "# else:\n", + "# with Pool(processes=processes) as pool:\n", + "# res = pool.starmap(_keep_range, [(start, stop, _range) for _range in reference_ranges])\n", " \n", - " res = list(filter(lambda r : r is not None, res))\n", + "# res = list(filter(lambda r : r is not None, res))\n", "\n", - " with _pool_count.get_lock():\n", - " _pool_count.value += 1\n", - " if total is not None:\n", - " if _pool_count.value % throttle == 0:\n", - " frac = total\n", - " print('\\r ', flush=True, end='')\n", - " print('\\r{}%'.format(_pool_count.value / total * 100), flush=True, end='')\n", + "# with _pool_count.get_lock():\n", + "# _pool_count.value += 1\n", + "# if total is not None:\n", + "# if _pool_count.value % throttle == 0:\n", + "# frac = total\n", + "# print('\\r ', flush=True, end='')\n", + "# print('\\r{}%'.format(_pool_count.value / total * 100), flush=True, end='')\n", " \n", - " return LabeledRanges(res) \n", + "# return LabeledRanges(res) \n", "\n", "# do this en-masse\n", "def label_all(unknown_ranges, reference_ranges, processes=None):\n", @@ -136,30 +137,2815 @@ " \n", " with Pool(processes=processes) as pool:\n", " total = len(unknown_ranges)\n", - " sargs = [(u_rng, reference_ranges, 1, total, 50) for u_rng in unknown_ranges]\n", + " sargs = [(u_rng, reference_ranges, total, 50) for u_rng in unknown_ranges]\n", " res = pool.starmap(label, sargs)\n", " \n", - " print('\\r{}%'.format(100), flush=True, end='')\n", - " print('\\ndone', flush=False, end='\\n')\n", " return res\n" ] }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, + "execution_count": 9, + "metadata": { + "scrolled": true + }, "outputs": [ { - "name": "stdout", + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", "output_type": "stream", "text": [ - "100%% \n", - "done\n" + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/Projects/lrng/lrng/lrng.py:40: NumbaPendingDeprecationWarning: \u001b[1m\u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument '_range' of function '_keep_range'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 31:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef _keep_range(start, stop, _range):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\u001b[0m\n", + " res = [_keep_range(start, stop, _range) for _range in reference_ranges]\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'reference_ranges' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n", + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'unknown_range' of function 'label'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 38:\u001b[0m\n", + "\u001b[1m@njit\n", + "\u001b[1mdef label(unknown_range, reference_ranges, total=None, throttle=50):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "ename": "TypeError", + "evalue": "Failed in nopython mode pipeline (step: nopython mode backend)\ncannot reflect element of reflected container: reflected list(reflected list(int64))\n", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mRemoteTraceback\u001b[0m Traceback (most recent call last)", + "\u001b[0;31mRemoteTraceback\u001b[0m: \n\"\"\"\nTraceback (most recent call last):\n File \"/home/sumner/anaconda3/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n result = (True, func(*args, **kwds))\n File \"/home/sumner/anaconda3/lib/python3.6/multiprocessing/pool.py\", line 47, in starmapstar\n return list(itertools.starmap(args[0], args[1]))\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\", line 370, in _compile_for_args\n raise e\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\", line 327, in _compile_for_args\n return self.compile(tuple(argtypes))\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\", line 32, in _acquire_compile_lock\n return func(*args, **kwargs)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\", line 659, in compile\n cres = self._compiler.compile(args, return_type)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\", line 83, in compile\n pipeline_class=self.pipeline_class)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 955, in compile_extra\n return pipeline.compile_extra(func)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 377, in compile_extra\n return self._compile_bytecode()\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 886, in _compile_bytecode\n return self._compile_core()\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 873, in _compile_core\n res = pm.run(self.status)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\", line 32, in _acquire_compile_lock\n return func(*args, **kwargs)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 254, in run\n raise patched_exception\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 245, in run\n stage()\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 747, in stage_nopython_backend\n self._backend(lowerfn, objectmode=False)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 687, in _backend\n lowered = lowerfn()\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 674, in backend_nopython_mode\n self.metadata)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/compiler.py\", line 1126, in native_lowering_stage\n lower.create_cpython_wrapper(flags.release_gil)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/lowering.py\", line 271, in create_cpython_wrapper\n release_gil=release_gil)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/targets/cpu.py\", line 157, in create_cpython_wrapper\n builder.build()\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\", line 122, in build\n self.build_wrapper(api, builder, closure, args, kws)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\", line 155, in build_wrapper\n val = cleanup_manager.add_arg(builder.load(obj), ty)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\", line 58, in add_arg\n cleanup_arg()\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\", line 41, in cleanup_arg\n self.api.reflect_native_value(ty, native.value, self.env_manager)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/pythonapi.py\", line 1460, in reflect_native_value\n impl(typ, val, c)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/targets/boxing.py\", line 753, in reflect_list\n raise TypeError(msg)\nTypeError: Failed in nopython mode pipeline (step: nopython mode backend)\ncannot reflect element of reflected container: reflected list(reflected list(int64))\n\n\"\"\"", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlabel_all\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mranges_to_label\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mknown_ranges\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_list\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mlabel_all\u001b[0;34m(unknown_ranges, reference_ranges, processes)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0mtotal\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0munknown_ranges\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0msargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mu_rng\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreference_ranges\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtotal\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m50\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mu_rng\u001b[0m \u001b[0;32min\u001b[0m \u001b[0munknown_ranges\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpool\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstarmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 50\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/multiprocessing/pool.py\u001b[0m in \u001b[0;36mstarmap\u001b[0;34m(self, func, iterable, chunksize)\u001b[0m\n\u001b[1;32m 272\u001b[0m \u001b[0;31m`\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;31m`\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0mbecomes\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 273\u001b[0m '''\n\u001b[0;32m--> 274\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_map_async\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstarmapstar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 275\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 276\u001b[0m def starmap_async(self, func, iterable, chunksize=None, callback=None,\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/multiprocessing/pool.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 642\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 643\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 644\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 645\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 646\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_set\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: Failed in nopython mode pipeline (step: nopython mode backend)\ncannot reflect element of reflected container: reflected list(reflected list(int64))\n" ] } ], "source": [ - "res = label_all(ranges_to_label, known_ranges)" + "res = label_all(ranges_to_label, known_ranges.as_list())" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'res' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'res' is not defined" + ] + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "if 0: print('yes')" ] }, { diff --git a/lrng/__init__.py b/lrng/__init__.py index d9686dd..4215727 100644 --- a/lrng/__init__.py +++ b/lrng/__init__.py @@ -1,5 +1,4 @@ -from .lrng import LabeledRange, LabeledRanges - +from .lrng import LabeledRange, LabeledRanges, coalesce name = 'lrng' version = '0.0.0' description = 'Labeled Ranges' diff --git a/lrng/lrng.py b/lrng/lrng.py index a36fb95..25ede2b 100644 --- a/lrng/lrng.py +++ b/lrng/lrng.py @@ -1,16 +1,61 @@ from numbers import Number from copy import copy, deepcopy -from numba import jitclass, int32 - - - -labeled_range_spec = [ - ('name', str), - ('start', int32), - ('stop', int32) -] - -@jitclass(labeled_range_spec) +from numba import jitclass, int32, prange, njit, jit +from numba.types import unicode_type + +# @njit +@jit +def coalesce(ranges): + coalesced = [] + for i, (label_a, start_a, stop_a) in enumerate(ranges): + # for i in prange(len(ranges)): + append_flag = True + for j, (label_b, start_b, stop_b) in enumerate(coalesced): + if label_a != label_b: # not of same type + continue + elif stop_a < start_b: # a does not start and then overlap b + continue + elif stop_b < start_a: # b does not start and then overlap a + continue + else: + # same type and overlap, merge into i, do not append + append_flag = False + coalesced[j] = [label_a, min([start_a, start_b]), max([stop_a, stop_b])] + break + if append_flag: + coalesced.append([label_a, start_a, stop_a]) + return coalesced + + +@njit +def _keep_range(start, stop, _range): + _type, range_start, range_stop = _range + if range_stop < start: [_type, range_start, range_stop, 0] + if range_start > stop: [_type, range_start, range_stop, 0] + return [_type, range_start, range_stop, 1] + +@njit +def label(unknown_range, reference_ranges, total=None, throttle=50): + start, stop = unknown_range + res = [_keep_range(start, stop, _range) for _range in reference_ranges] + # res = list(filter(lambda r : r is not None, res)) + res = [ + [_type, range_start, range_stop] + for (_type, range_start, range_stop, _keep) in res + if _keep + ] + return coalesce(res) + + + + +# labeled_range_spec = [ +# ('name', unicode_type), +# ('start', int32), +# ('stop', int32) +# ] +# +# @jitclass(labeled_range_spec) class LabeledRange: ''' A helper class for keeping track of the start / stop of a given class in a @@ -33,7 +78,7 @@ class LabeledRange: ''' def as_instance(self): # isinstance() only works in the interpreter. - return self.__class__.__name__ + return 'LabeledRange' def shares_class_q(self, other): if hasattr(other, 'as_instance'): @@ -141,7 +186,8 @@ class LabeledRange: class LabeledRanges: def as_instance(self): # isinstance() only works in the interpreter. - return self.__class__.__name__ + # return self.__class__.__name__ + return 'LabeledRanges' def shares_class_q(self, other): if hasattr(other, 'as_instance'): -- GitLab From df98c436be94867d42b4a228f970b8a624f3bc85 Mon Sep 17 00:00:00 2001 From: Sumner Date: Thu, 27 Jun 2019 16:06:02 +0200 Subject: [PATCH 3/9] latest numba --- jupyter/LabeledRanges.ipynb | 107 +++++++++++++++++++++++++++--------- lrng/lrng.py | 4 +- 2 files changed, 82 insertions(+), 29 deletions(-) diff --git a/jupyter/LabeledRanges.ipynb b/jupyter/LabeledRanges.ipynb index 2141edc..149eb3b 100644 --- a/jupyter/LabeledRanges.ipynb +++ b/jupyter/LabeledRanges.ipynb @@ -21,36 +21,77 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "[['Type B', 10, 150], ['Type A', 10, 150], ['Type A', 200, 300]]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'ranges' of function 'coalesce'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"../lrng/lrng.py\", line 8:\u001b[0m\n", + "\u001b[1m# @jit\n", + "\u001b[1mdef coalesce(ranges):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "ename": "TypeError", + "evalue": "Failed in nopython mode pipeline (step: nopython mode backend)\ncannot reflect element of reflected container: reflected list(reflected list(int64))\n", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m100\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m200\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m300\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m15\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m150\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m ])\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36m_compile_for_args\u001b[0;34m(self, *args, **kws)\u001b[0m\n\u001b[1;32m 368\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpatch_message\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m''\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mhelp_msg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 369\u001b[0m \u001b[0;31m# ignore the FULL_TRACEBACKS config, this needs reporting!\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 370\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 371\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 372\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minspect_llvm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msignature\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36m_compile_for_args\u001b[0;34m(self, *args, **kws)\u001b[0m\n\u001b[1;32m 325\u001b[0m \u001b[0margtypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtypeof_pyval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 326\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 327\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margtypes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 328\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTypingError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 329\u001b[0m \u001b[0;31m# Intercept typing error that may be due to an argument\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\u001b[0m in \u001b[0;36m_acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36mcompile\u001b[0;34m(self, sig)\u001b[0m\n\u001b[1;32m 657\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cache_misses\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 659\u001b[0;31m \u001b[0mcres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compiler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 660\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_overload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 661\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_overload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36mcompile\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreturn_type\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mflags\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlocals\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlocals\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 83\u001b[0;31m pipeline_class=self.pipeline_class)\n\u001b[0m\u001b[1;32m 84\u001b[0m \u001b[0;31m# Check typing error if object mode is used\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtyping_error\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_pyobject\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mcompile_extra\u001b[0;34m(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)\u001b[0m\n\u001b[1;32m 953\u001b[0m pipeline = pipeline_class(typingctx, targetctx, library,\n\u001b[1;32m 954\u001b[0m args, return_type, flags, locals)\n\u001b[0;32m--> 955\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mpipeline\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile_extra\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 956\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 957\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mcompile_extra\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m 375\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlifted\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 376\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlifted_from\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 377\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compile_bytecode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 378\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 379\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcompile_ir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc_ir\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlifted\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlifted_from\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_compile_bytecode\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 884\u001b[0m \"\"\"\n\u001b[1;32m 885\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfunc_ir\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 886\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compile_core\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 887\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 888\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_compile_ir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 871\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefine_pipelines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpm\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 872\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfinalize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 873\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 874\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 875\u001b[0m \u001b[0;31m# Early pipeline completion\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\u001b[0m in \u001b[0;36m_acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, status)\u001b[0m\n\u001b[1;32m 252\u001b[0m \u001b[0;31m# No more fallback pipelines?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_final_pipeline\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 254\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mpatched_exception\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 255\u001b[0m \u001b[0;31m# Go to next fallback pipeline\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 256\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, status)\u001b[0m\n\u001b[1;32m 243\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 244\u001b[0m \u001b[0mevent\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"-- %s\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mstage_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 245\u001b[0;31m \u001b[0mstage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 246\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0m_EarlyPipelineCompletion\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mstage_nopython_backend\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 745\u001b[0m \"\"\"\n\u001b[1;32m 746\u001b[0m \u001b[0mlowerfn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackend_nopython_mode\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 747\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_backend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlowerfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mobjectmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 748\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 749\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mstage_compile_interp_mode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_backend\u001b[0;34m(self, lowerfn, objectmode)\u001b[0m\n\u001b[1;32m 685\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlibrary\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_object_caching\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 686\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 687\u001b[0;31m \u001b[0mlowered\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlowerfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 688\u001b[0m \u001b[0msignature\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtyping\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msignature\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreturn_type\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 689\u001b[0m self.cr = compile_result(\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mbackend_nopython_mode\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 672\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalltypes\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 673\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflags\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 674\u001b[0;31m self.metadata)\n\u001b[0m\u001b[1;32m 675\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 676\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_backend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlowerfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mobjectmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mnative_lowering_stage\u001b[0;34m(targetctx, library, interp, typemap, restype, calltypes, flags, metadata)\u001b[0m\n\u001b[1;32m 1124\u001b[0m \u001b[0mlower\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1125\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mno_cpython_wrapper\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1126\u001b[0;31m \u001b[0mlower\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate_cpython_wrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mflags\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrelease_gil\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1127\u001b[0m \u001b[0menv\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlower\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menv\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1128\u001b[0m \u001b[0mcall_helper\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlower\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcall_helper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/lowering.py\u001b[0m in \u001b[0;36mcreate_cpython_wrapper\u001b[0;34m(self, release_gil)\u001b[0m\n\u001b[1;32m 269\u001b[0m self.context.create_cpython_wrapper(self.library, self.fndesc,\n\u001b[1;32m 270\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcall_helper\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 271\u001b[0;31m release_gil=release_gil)\n\u001b[0m\u001b[1;32m 272\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 273\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msetup_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfndesc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/targets/cpu.py\u001b[0m in \u001b[0;36mcreate_cpython_wrapper\u001b[0;34m(self, library, fndesc, env, call_helper, release_gil)\u001b[0m\n\u001b[1;32m 155\u001b[0m \u001b[0mfndesc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0menv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcall_helper\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcall_helper\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 156\u001b[0m release_gil=release_gil)\n\u001b[0;32m--> 157\u001b[0;31m \u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 158\u001b[0m \u001b[0mlibrary\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_ir_module\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwrapper_module\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\u001b[0m in \u001b[0;36mbuild\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 121\u001b[0m \u001b[0mapi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_python_api\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 122\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild_wrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mapi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mclosure\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkws\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 123\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mapi\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\u001b[0m in \u001b[0;36mbuild_wrapper\u001b[0;34m(self, api, builder, closure, args, kws)\u001b[0m\n\u001b[1;32m 153\u001b[0m \u001b[0minnerargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 154\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 155\u001b[0;31m \u001b[0mval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcleanup_manager\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_arg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mty\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 156\u001b[0m \u001b[0minnerargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\u001b[0m in \u001b[0;36madd_arg\u001b[0;34m(self, obj, ty)\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[0mcleanupblk\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend_basic_block\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"arg%d.err\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marg_count\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgoto_block\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcleanupblk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 58\u001b[0;31m \u001b[0mcleanup_arg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 59\u001b[0m \u001b[0;31m# Go to next cleanup block\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbranch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnextblk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/callwrapper.py\u001b[0m in \u001b[0;36mcleanup_arg\u001b[0;34m()\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcleanup_arg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0;31m# Native value reflection\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 41\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapi\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreflect_native_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mty\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnative\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menv_manager\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 42\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[0;31m# Native value cleanup\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/pythonapi.py\u001b[0m in \u001b[0;36mreflect_native_value\u001b[0;34m(self, typ, val, env_manager)\u001b[0m\n\u001b[1;32m 1458\u001b[0m c = _ReflectContext(self.context, self.builder, self, env_manager,\n\u001b[1;32m 1459\u001b[0m is_error)\n\u001b[0;32m-> 1460\u001b[0;31m \u001b[0mimpl\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtyp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1461\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_error\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1462\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/targets/boxing.py\u001b[0m in \u001b[0;36mreflect_list\u001b[0;34m(typ, val, c)\u001b[0m\n\u001b[1;32m 751\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtyp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreflected\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 752\u001b[0m \u001b[0mmsg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"cannot reflect element of reflected container: {}\\n\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtyp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 753\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 754\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 755\u001b[0m \u001b[0mlist\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlistobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mListInstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontext\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtyp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: Failed in nopython mode pipeline (step: nopython mode backend)\ncannot reflect element of reflected container: reflected list(reflected list(int64))\n" + ] } ], "source": [ "coalesce([\n", - " ['Type B', 10, 100],\n", - " ['Type A', 50, 75],\n", - " ['Type B', 50, 150],\n", - " ['Type A', 10, 100],\n", - " \n", - " ['Type A', 200, 300],\n", - " \n", - " ['Type A', 15, 150],\n", + " # type, start, stop: numba likes everything being same type\n", + " [1, 10, 100],\n", + " [0, 50, 75],\n", + " [1, 50, 150],\n", + " [0, 10, 100], \n", + " [0, 200, 300], \n", + " [0, 15, 150]\n", "])" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -91,18 +132,30 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { - "ename": "TypeError", - "evalue": "unsupported operand type(s) for +: 'LabeledRange' and 'LabeledRange'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m print(\n\u001b[1;32m 2\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mb\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mc\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0md\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'LabeledRange' and 'LabeledRange'" + "name": "stdout", + "output_type": "stream", + "text": [ + "LabeledRange('Type A', 10, 100)\n", + "LabeledRange('Type A', 10, 150)\n", + "LabeledRange('Type A', 10, 150)\n", + "LabeledRanges(\n", + "\tLabeledRange('Type A', 10, 150)\n", + "\tLabeledRange('Type A', 200, 300)\n", + ")\n", + "LabeledRanges(\n", + "\tLabeledRange('Type A', 10, 150)\n", + "\tLabeledRange('Type A', 200, 300)\n", + "\tLabeledRange('Type B', 10, 100)\n", + ")\n", + "LabeledRanges(\n", + "\tLabeledRange('Type A', 10, 150)\n", + "\tLabeledRange('Type A', 200, 300)\n", + "\tLabeledRange('Type B', 10, 150)\n", + ")\n" ] } ], diff --git a/lrng/lrng.py b/lrng/lrng.py index 25ede2b..41f426e 100644 --- a/lrng/lrng.py +++ b/lrng/lrng.py @@ -3,8 +3,8 @@ from copy import copy, deepcopy from numba import jitclass, int32, prange, njit, jit from numba.types import unicode_type -# @njit -@jit +@njit +# @jit def coalesce(ranges): coalesced = [] for i, (label_a, start_a, stop_a) in enumerate(ranges): -- GitLab From 76a65b99c9ed127c34ee8f349e37e55b72460e41 Mon Sep 17 00:00:00 2001 From: Sumner Date: Fri, 28 Jun 2019 10:49:49 +0200 Subject: [PATCH 4/9] serialized version --- jupyter/Untitled.ipynb | 198 +++++++++++++++++++++++++++++++++++++++++ lrng/lrng.py | 7 ++ 2 files changed, 205 insertions(+) create mode 100644 jupyter/Untitled.ipynb diff --git a/jupyter/Untitled.ipynb b/jupyter/Untitled.ipynb new file mode 100644 index 0000000..743ad02 --- /dev/null +++ b/jupyter/Untitled.ipynb @@ -0,0 +1,198 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from numba import njit, int32" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "@njit\n", + "def _merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b):\n", + " if label_a != label_b: # not of same type\n", + " return False\n", + " elif stop_a < start_b: # a does not start and then overlap b\n", + " return False\n", + " elif stop_b < start_a: # b does not start and then overlap a\n", + " return False\n", + " else:\n", + " # same type and overlap, merge into i, do not append\n", + " return True\n", + "\n", + "@njit#(int32[:])\n", + "def coalesce_serialized(ranges):\n", + " coalesced = []\n", + " for i in range(0, len(ranges), 3):\n", + " label_a, start_a, stop_a = ranges[i:i+3]\n", + " append_flag = True\n", + " for j in range(0, len(coalesced), 3):\n", + " label_b, start_b, stop_b = coalesced[j:j+3]\n", + " if _merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b):\n", + " append_flag = False\n", + " coalesced[j:j+3] = [label_a, min([start_a, start_b]), max([stop_a, stop_b])]\n", + " break\n", + " if append_flag:\n", + " coalesced.append(label_a)\n", + " coalesced.append(start_a)\n", + " coalesced.append(stop_a)\n", + " return coalesced\n", + "\n", + "def coalesce(ranges):\n", + " return np.array(coalesce_serialized(np.array(ranges).flatten().tolist())).reshape(-1, 3)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "len(_ranges)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", + "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'ranges' of function 'coalesce_serialized'.\n", + "\n", + "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", + "\u001b[1m\n", + "File \"\", line 14:\u001b[0m\n", + "\u001b[1m@njit#(int32[:])\n", + "\u001b[1mdef coalesce_serialized(ranges):\n", + "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", + "\u001b[0m\n", + " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" + ] + }, + { + "data": { + "text/plain": [ + "[1, 10, 150, 0, 10, 150, 0, 200, 300]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coalesce_serialized(_ranges)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "np_coalesce(_ranges)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "ranges = [\n", + " [1, 10, 100],\n", + " [0, 50, 75],\n", + " [1, 50, 150],\n", + " [0, 10, 100], \n", + " [0, 200, 300], \n", + " [0, 15, 150]\n", + "]\n", + "_ranges = np.array(ranges).flatten().tolist()\n", + "__ranges = np.array(ranges).flatten()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "__ranges.reshape(-1, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for i in range(0, len(_ranges), 3):\n", + " a, b, c = _ranges[i:i+3]\n", + " print(a,b,c)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "_ranges[0:3]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lrng/lrng.py b/lrng/lrng.py index 41f426e..434c545 100644 --- a/lrng/lrng.py +++ b/lrng/lrng.py @@ -3,6 +3,13 @@ from copy import copy, deepcopy from numba import jitclass, int32, prange, njit, jit from numba.types import unicode_type + + + + + + + @njit # @jit def coalesce(ranges): -- GitLab From 29226fa1ae8b07e99f51515a9f105f70855946df Mon Sep 17 00:00:00 2001 From: Sumner Date: Fri, 28 Jun 2019 10:50:57 +0200 Subject: [PATCH 5/9] serialized version --- jupyter/Untitled.ipynb | 49 ++++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/jupyter/Untitled.ipynb b/jupyter/Untitled.ipynb index 743ad02..45b619b 100644 --- a/jupyter/Untitled.ipynb +++ b/jupyter/Untitled.ipynb @@ -53,42 +53,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 10, 150],\n", + " [ 0, 10, 150],\n", + " [ 0, 200, 300]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "len(_ranges)" + "coalesce(ranges)" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/sumner/anaconda3/lib/python3.6/site-packages/numba/ir_utils.py:1958: NumbaPendingDeprecationWarning: \u001b[1m\n", - "Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'ranges' of function 'coalesce_serialized'.\n", - "\n", - "For more information visit http://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types\n", - "\u001b[1m\n", - "File \"\", line 14:\u001b[0m\n", - "\u001b[1m@njit#(int32[:])\n", - "\u001b[1mdef coalesce_serialized(ranges):\n", - "\u001b[0m\u001b[1m^\u001b[0m\u001b[0m\n", - "\u001b[0m\n", - " warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))\n" - ] - }, { "data": { "text/plain": [ "[1, 10, 150, 0, 10, 150, 0, 200, 300]" ] }, - "execution_count": 5, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -97,15 +93,6 @@ "coalesce_serialized(_ranges)" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "np_coalesce(_ranges)" - ] - }, { "cell_type": "code", "execution_count": 4, -- GitLab From 693acf063be31910677adaf35cfde6344efeac3e Mon Sep 17 00:00:00 2001 From: Sumner Date: Fri, 28 Jun 2019 10:53:11 +0200 Subject: [PATCH 6/9] serialized version --- jupyter/Untitled.ipynb | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/jupyter/Untitled.ipynb b/jupyter/Untitled.ipynb index 45b619b..c49ad0a 100644 --- a/jupyter/Untitled.ipynb +++ b/jupyter/Untitled.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -53,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -64,7 +64,7 @@ " [ 0, 200, 300]])" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -75,18 +75,19 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "[1, 10, 150, 0, 10, 150, 0, 200, 300]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" + "ename": "NameError", + "evalue": "name '_ranges' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcoalesce_serialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_ranges\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name '_ranges' is not defined" + ] } ], "source": [ @@ -95,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ -- GitLab From c28176a1406799def313d1a71af42659f8060db7 Mon Sep 17 00:00:00 2001 From: Sumner Date: Fri, 28 Jun 2019 13:33:29 +0200 Subject: [PATCH 7/9] latest --- jupyter/Untitled.ipynb | 176 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 157 insertions(+), 19 deletions(-) diff --git a/jupyter/Untitled.ipynb b/jupyter/Untitled.ipynb index c49ad0a..7cec1ad 100644 --- a/jupyter/Untitled.ipynb +++ b/jupyter/Untitled.ipynb @@ -2,17 +2,18 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", - "from numba import njit, int32" + "from numba import jit, njit, int32\n", + "from numba.types import unicode_type" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -28,9 +29,8 @@ " # same type and overlap, merge into i, do not append\n", " return True\n", "\n", - "@njit#(int32[:])\n", - "def coalesce_serialized(ranges):\n", - " coalesced = []\n", + "@njit(int32[:](int32[:], int32[:]))\n", + "def coalesce_serialized(ranges, coalesced):\n", " for i in range(0, len(ranges), 3):\n", " label_a, start_a, stop_a = ranges[i:i+3]\n", " append_flag = True\n", @@ -38,39 +38,97 @@ " label_b, start_b, stop_b = coalesced[j:j+3]\n", " if _merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b):\n", " append_flag = False\n", - " coalesced[j:j+3] = [label_a, min([start_a, start_b]), max([stop_a, stop_b])]\n", + " coalesced[j:j+3] = [label_a, min(start_a, start_b), max(stop_a, stop_b)]\n", " break\n", " if append_flag:\n", - " coalesced.append(label_a)\n", - " coalesced.append(start_a)\n", - " coalesced.append(stop_a)\n", + " coalesced = np.concatenate((coalesced, ranges[i:i+3])) \n", " return coalesced\n", "\n", - "def coalesce(ranges):\n", - " return np.array(coalesce_serialized(np.array(ranges).flatten().tolist())).reshape(-1, 3)\n", + "@njit#(int32(unicode_type, unicode_type[:]))\n", + "def _label_index(value, labels):\n", + " return np.where(labels == value)[0][0]\n", + "\n", + "@jit\n", + "def coalesce(ranges, labels): \n", + " np_ranges = np.array(ranges)\n", + " serialized = np.array(ranges, dtype='int32').flatten()\n", + " results = np.array([], dtype='int32')\n", + " results = coalesce_serialized(serialized, results)\n", + " return results.reshape(-1, 3)\n", "\n" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[ 1, 10, 150],\n", - " [ 0, 10, 150],\n", - " [ 0, 200, 300]])" + "array(['A', 'B', 'B', 'A', 'A', 'A'], dtype=' Date: Fri, 28 Jun 2019 16:16:24 +0200 Subject: [PATCH 8/9] current status of numba branch --- jupyter/Untitled.ipynb | 163 +++++++++++--------- jupyter/Untitled1.ipynb | 321 ++++++++++++++++++++++++++++++++++++++++ lrng/numba.py | 55 +++++++ 3 files changed, 468 insertions(+), 71 deletions(-) create mode 100644 jupyter/Untitled1.ipynb create mode 100644 lrng/numba.py diff --git a/jupyter/Untitled.ipynb b/jupyter/Untitled.ipynb index 7cec1ad..9a3d5c4 100644 --- a/jupyter/Untitled.ipynb +++ b/jupyter/Untitled.ipynb @@ -2,18 +2,18 @@ "cells": [ { "cell_type": "code", - "execution_count": 16, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", - "from numba import jit, njit, int32\n", + "from numba import jit, njit, int32, vectorize\n", "from numba.types import unicode_type" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 164, "metadata": {}, "outputs": [], "source": [ @@ -44,117 +44,138 @@ " coalesced = np.concatenate((coalesced, ranges[i:i+3])) \n", " return coalesced\n", "\n", - "@njit#(int32(unicode_type, unicode_type[:]))\n", - "def _label_index(value, labels):\n", - " return np.where(labels == value)[0][0]\n", + "# @jit(forceobj=True)\n", + "# @vectorize(forceobj=True)\n", + "def _label_to_index(label, labels_order):\n", + " return np.where(labels_order == label)[0][0]\n", "\n", - "@jit\n", - "def coalesce(ranges, labels): \n", + "def labels_to_indices(labels, labels_order):\n", + " f = lambda label: _label_to_index(label, labels_order) \n", + " return np.array(list(map(f, labels)))\n", + "\n", + "def _index_to_label(index, labels_order):\n", + " return labels_order[index]\n", + "def indices_to_labels(indices, labels_order):\n", + " f = lambda index : _index_to_label(index, labels_order)\n", + " return np.array(list(map(f, indices)))\n", + "\n", + "@jit(forceobj=True)\n", + "def coalesce(ranges, labels_order): \n", + " # ensure ranges is numpy array\n", " np_ranges = np.array(ranges)\n", - " serialized = np.array(ranges, dtype='int32').flatten()\n", + " # first column includes string labels\n", + " labels = np_ranges[:, 0]\n", + " # map labels to indices\n", + " np_ranges[:, 0] = labels_to_indices(labels, labels_order).astype('int32')\n", + " # serialize ranges\n", + " serialized = np.array(np_ranges, dtype='int32').flatten()\n", + " # results dumped here\n", " results = np.array([], dtype='int32')\n", - " results = coalesce_serialized(serialized, results)\n", - " return results.reshape(-1, 3)\n", + " # simplify ranges\n", + " coalesce_serialized(serialized, results)\n", + " print(results)\n", + "# results = coalesce_serialized(serialized, results) \n", + "# # reshape to triplets\n", + "# results = results.reshape(-1, 3)\n", + "# # first column is now indicies\n", + "# indices = results[:, 0]\n", + "# result_labels = indices_to_labels(indices, labels_order).reshape((-1, 1))\n", + "# return np.append(result_labels, results[:, 1:], axis = 1)\n", "\n" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 165, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array(['A', 'B', 'B', 'A', 'A', 'A'], dtype='\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwhere\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopts\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mranges\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mopts\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mranges\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mValueError\u001b[0m: shape mismatch: objects cannot be broadcast to a single shape" + ] } ], "source": [ - "np.array(ranges)" + "np.where(opts==ranges[:, 0], opts, ranges[:,0])" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 175, "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "name '_ranges' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcoalesce_serialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_ranges\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mNameError\u001b[0m: name '_ranges' is not defined" + "name": "stdout", + "output_type": "stream", + "text": [ + "0 10 150\n", + "1 50 150\n", + "2 200 300\n" ] } ], "source": [ - "coalesce_serialized(_ranges)" + "for i, (a,b) in enumerate(a):\n", + " print(i, a,b)" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -163,7 +184,7 @@ "0" ] }, - "execution_count": 14, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -234,7 +255,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ diff --git a/jupyter/Untitled1.ipynb b/jupyter/Untitled1.ipynb new file mode 100644 index 0000000..a2386ff --- /dev/null +++ b/jupyter/Untitled1.ipynb @@ -0,0 +1,321 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from numba import jit, njit, int32" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def label_to_index(label, labels_order):\n", + " return np.where(labels_order == label)[0][0]\n", + " \n", + "def labels_to_indices(labels, labels_order):\n", + " f = lambda label: label_to_index(label, labels_order)\n", + " return np.array(list(map(f, labels)))\n", + " \n", + "def index_to_label(index, labels_order):\n", + " return labels_order[index]\n", + " \n", + "def indices_to_labels(indices, labels_order):\n", + " f = lambda index : index_to_label(index, labels_order)\n", + " return np.array(list(map(f, indices)))" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "code_folding": [ + 3 + ] + }, + "outputs": [ + { + "ename": "TypingError", + "evalue": "Failed in nopython mode pipeline (step: nopython frontend)\nInternal error at :\n--%<----------------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/errors.py\", line 661, in new_error_context\n yield\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\", line 313, in __call__\n raise TypingError(\"failed to unpack {}\".format(tp),\nUnboundLocalError: local variable 'tp' referenced before assignment\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\", line 144, in propagate\n constraint(typeinfer)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\", line 314, in __call__\n loc=self.loc)\n File \"/home/sumner/anaconda3/lib/python3.6/contextlib.py\", line 99, in __exit__\n self.gen.throw(type, value, traceback)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/errors.py\", line 669, in new_error_context\n six.reraise(type(newerr), newerr, tb)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/six.py\", line 659, in reraise\n raise value\nnumba.errors.InternalError: \u001b[1m\u001b[1mlocal variable 'tp' referenced before assignment\u001b[0m\n\u001b[0m\u001b[1m[1] During: typing of exhaust iter at (21)\u001b[0m\n--%<----------------------------------------------------------------------------\n\n\u001b[1m\nFile \"\", line 21:\u001b[0m\n\u001b[1mdef _coalesce(ranges):\n \n continue\n\u001b[1m label_b, start_b, stop_b = coalesced[j:j+3]\n\u001b[0m \u001b[1m^\u001b[0m\u001b[0m\n", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypingError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mnjit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mint32\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mint32\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_coalesce\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mranges\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0mcoalesced\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'int32'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(func)\u001b[0m\n\u001b[1;32m 184\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtypeinfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mregister_dispatcher\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdisp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0msig\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msigs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 186\u001b[0;31m \u001b[0mdisp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 187\u001b[0m \u001b[0mdisp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisable_compile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdisp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\u001b[0m in \u001b[0;36m_acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36mcompile\u001b[0;34m(self, sig)\u001b[0m\n\u001b[1;32m 657\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cache_misses\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 659\u001b[0;31m \u001b[0mcres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compiler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 660\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_overload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 661\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_overload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36mcompile\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreturn_type\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mflags\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlocals\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlocals\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 83\u001b[0;31m pipeline_class=self.pipeline_class)\n\u001b[0m\u001b[1;32m 84\u001b[0m \u001b[0;31m# Check typing error if object mode is used\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtyping_error\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_pyobject\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mcompile_extra\u001b[0;34m(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)\u001b[0m\n\u001b[1;32m 953\u001b[0m pipeline = pipeline_class(typingctx, targetctx, library,\n\u001b[1;32m 954\u001b[0m args, return_type, flags, locals)\n\u001b[0;32m--> 955\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mpipeline\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile_extra\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 956\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 957\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mcompile_extra\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m 375\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlifted\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 376\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlifted_from\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 377\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compile_bytecode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 378\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 379\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcompile_ir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc_ir\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlifted\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlifted_from\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_compile_bytecode\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 884\u001b[0m \"\"\"\n\u001b[1;32m 885\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfunc_ir\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 886\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compile_core\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 887\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 888\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_compile_ir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 871\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefine_pipelines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpm\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 872\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfinalize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 873\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 874\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 875\u001b[0m \u001b[0;31m# Early pipeline completion\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\u001b[0m in \u001b[0;36m_acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, status)\u001b[0m\n\u001b[1;32m 252\u001b[0m \u001b[0;31m# No more fallback pipelines?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_final_pipeline\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 254\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mpatched_exception\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 255\u001b[0m \u001b[0;31m# Go to next fallback pipeline\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 256\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, status)\u001b[0m\n\u001b[1;32m 243\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 244\u001b[0m \u001b[0mevent\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"-- %s\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mstage_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 245\u001b[0;31m \u001b[0mstage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 246\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0m_EarlyPipelineCompletion\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mstage_nopython_frontend\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 499\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 500\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreturn_type\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 501\u001b[0;31m self.locals)\n\u001b[0m\u001b[1;32m 502\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtypemap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtypemap\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 503\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreturn_type\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mtype_inference_stage\u001b[0;34m(typingctx, interp, args, return_type, locals)\u001b[0m\n\u001b[1;32m 1103\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1104\u001b[0m \u001b[0minfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild_constraint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1105\u001b[0;31m \u001b[0minfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpropagate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1106\u001b[0m \u001b[0mtypemap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrestype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcalltypes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munify\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1107\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\u001b[0m in \u001b[0;36mpropagate\u001b[0;34m(self, raise_errors)\u001b[0m\n\u001b[1;32m 913\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 914\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mraise_errors\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 915\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 916\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 917\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypingError\u001b[0m: Failed in nopython mode pipeline (step: nopython frontend)\nInternal error at :\n--%<----------------------------------------------------------------------------\nTraceback (most recent call last):\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/errors.py\", line 661, in new_error_context\n yield\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\", line 313, in __call__\n raise TypingError(\"failed to unpack {}\".format(tp),\nUnboundLocalError: local variable 'tp' referenced before assignment\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\", line 144, in propagate\n constraint(typeinfer)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\", line 314, in __call__\n loc=self.loc)\n File \"/home/sumner/anaconda3/lib/python3.6/contextlib.py\", line 99, in __exit__\n self.gen.throw(type, value, traceback)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/errors.py\", line 669, in new_error_context\n six.reraise(type(newerr), newerr, tb)\n File \"/home/sumner/anaconda3/lib/python3.6/site-packages/numba/six.py\", line 659, in reraise\n raise value\nnumba.errors.InternalError: \u001b[1m\u001b[1mlocal variable 'tp' referenced before assignment\u001b[0m\n\u001b[0m\u001b[1m[1] During: typing of exhaust iter at (21)\u001b[0m\n--%<----------------------------------------------------------------------------\n\n\u001b[1m\nFile \"\", line 21:\u001b[0m\n\u001b[1mdef _coalesce(ranges):\n \n continue\n\u001b[1m label_b, start_b, stop_b = coalesced[j:j+3]\n\u001b[0m \u001b[1m^\u001b[0m\u001b[0m\n" + ] + } + ], + "source": [ + "@njit\n", + "def merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b):\n", + " if label_a != label_b: # not of same type\n", + " return False\n", + " elif stop_a < start_b: # a does not start and then overlap b\n", + " return False\n", + " elif stop_b < start_a: # b does not start and then overlap a\n", + " return False\n", + " else: # same type and overlap, merge into i, do not append\n", + " return True\n", + "\n", + "@njit(int32[:](int32[:]))\n", + "def _coalesce(ranges):\n", + " coalesced = np.array([], dtype='int32')\n", + " for i in range(0, len(ranges), 3):\n", + " label_a, start_a, stop_a = ranges[i:i+3]\n", + " append_flag = True\n", + " for j in range(0, len(coalesced), 3):\n", + " if len(coalesced[j:j+3]) < 3: \n", + " continue\n", + " label_b, start_b, stop_b = coalesced[j:j+3]\n", + " if merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b):\n", + " append_flag = False\n", + " coalesced[j:j+3] = [label_a, min(start_a, start_b), max(stop_a, stop_b)]\n", + " break\n", + " if append_flag:\n", + " coalesced = np.concatenate((coalesced, ranges[i:i+3]))\n", + " return coalesced\n", + "\n", + "\n", + "@jit(forceobj=True)\n", + "def coalesce(ranges, labels_order):\n", + " # ensure np as input\n", + " np_labels = np.array(labels_order)\n", + " np_ranges = np.array(ranges)\n", + " np_result = np.array([], dtype='int32')\n", + "\n", + " # map labels to indices\n", + " np_ranges[:, 0] = labels_to_indices(np_ranges[:, 0], np_labels)\n", + " # serialize ranges\n", + " serialized = np.array(np_ranges, dtype='int32').flatten()\n", + "\n", + " results = _coalesce(serialized).reshape(-1, 3)\n", + "\n", + " result_labels = indices_to_labels(results[:, 0], np_labels).reshape((-1, 1))\n", + " return np.append(result_labels, results[:, 1:], axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "ranges = np.array([\n", + " ['Type A', 10, 100],\n", + " ['Type B', 50, 75],\n", + " ['Type B', 50, 150],\n", + " ['Type A', 10, 100], \n", + " ['Type A', 200, 300], \n", + " ['Type A', 15, 150]\n", + "])\n", + "opts = np.array(['Type A', 'Type B'])" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([['Type A', '10', '150'],\n", + " ['Type B', '50', '150'],\n", + " ['Type A', '200', '300']],\n", + " dtype=') with argument(s) of type(s): (list(int64), dtype=Literal[str](int32))\n * parameterized\n\u001b[1mIn definition 0:\u001b[0m\n\u001b[1m All templates rejected with literals.\u001b[0m\n\u001b[1mIn definition 1:\u001b[0m\n\u001b[1m All templates rejected without literals.\u001b[0m\n\u001b[1mThis error is usually caused by passing an argument of a type that is unsupported by the named function.\u001b[0m\u001b[0m\n\u001b[0m\u001b[1m[1] During: resolving callee type: Function()\u001b[0m\n\u001b[0m\u001b[1m[2] During: typing of call at (16)\n\u001b[0m\n\u001b[1m\nFile \"\", line 16:\u001b[0m\n\u001b[1mdef baz(arr):\n \n for i in range(3):\n\u001b[1m arr = np.concatenate((arr, np.array([i], dtype='int32')))\n\u001b[0m \u001b[1m^\u001b[0m\u001b[0m\n", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypingError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;31m# a, b, c = arr[:3]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;31m# return a\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mnjit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mint32\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mint32\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mbaz\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(func)\u001b[0m\n\u001b[1;32m 184\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtypeinfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mregister_dispatcher\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdisp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0msig\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msigs\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 186\u001b[0;31m \u001b[0mdisp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 187\u001b[0m \u001b[0mdisp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisable_compile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdisp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\u001b[0m in \u001b[0;36m_acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36mcompile\u001b[0;34m(self, sig)\u001b[0m\n\u001b[1;32m 657\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cache_misses\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 659\u001b[0;31m \u001b[0mcres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compiler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 660\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_overload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 661\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_overload\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/dispatcher.py\u001b[0m in \u001b[0;36mcompile\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreturn_type\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mflags\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlocals\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlocals\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 83\u001b[0;31m pipeline_class=self.pipeline_class)\n\u001b[0m\u001b[1;32m 84\u001b[0m \u001b[0;31m# Check typing error if object mode is used\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtyping_error\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mflags\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_pyobject\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mcompile_extra\u001b[0;34m(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)\u001b[0m\n\u001b[1;32m 953\u001b[0m pipeline = pipeline_class(typingctx, targetctx, library,\n\u001b[1;32m 954\u001b[0m args, return_type, flags, locals)\n\u001b[0;32m--> 955\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mpipeline\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompile_extra\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 956\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 957\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mcompile_extra\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m 375\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlifted\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 376\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlifted_from\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 377\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compile_bytecode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 378\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 379\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcompile_ir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc_ir\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlifted\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlifted_from\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_compile_bytecode\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 884\u001b[0m \"\"\"\n\u001b[1;32m 885\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfunc_ir\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 886\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_compile_core\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 887\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 888\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_compile_ir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36m_compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 871\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdefine_pipelines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpm\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 872\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfinalize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 873\u001b[0;31m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 874\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 875\u001b[0m \u001b[0;31m# Early pipeline completion\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler_lock.py\u001b[0m in \u001b[0;36m_acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 32\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_acquire_compile_lock\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, status)\u001b[0m\n\u001b[1;32m 252\u001b[0m \u001b[0;31m# No more fallback pipelines?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_final_pipeline\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 254\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mpatched_exception\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 255\u001b[0m \u001b[0;31m# Go to next fallback pipeline\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 256\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, status)\u001b[0m\n\u001b[1;32m 243\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 244\u001b[0m \u001b[0mevent\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"-- %s\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mstage_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 245\u001b[0;31m \u001b[0mstage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 246\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0m_EarlyPipelineCompletion\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 247\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mstage_nopython_frontend\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 499\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 500\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreturn_type\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 501\u001b[0;31m self.locals)\n\u001b[0m\u001b[1;32m 502\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtypemap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtypemap\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 503\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreturn_type\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mreturn_type\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/compiler.py\u001b[0m in \u001b[0;36mtype_inference_stage\u001b[0;34m(typingctx, interp, args, return_type, locals)\u001b[0m\n\u001b[1;32m 1103\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1104\u001b[0m \u001b[0minfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild_constraint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1105\u001b[0;31m \u001b[0minfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpropagate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1106\u001b[0m \u001b[0mtypemap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrestype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcalltypes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minfer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munify\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1107\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/numba/typeinfer.py\u001b[0m in \u001b[0;36mpropagate\u001b[0;34m(self, raise_errors)\u001b[0m\n\u001b[1;32m 913\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 914\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mraise_errors\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 915\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 916\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 917\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypingError\u001b[0m: Failed in nopython mode pipeline (step: nopython frontend)\n\u001b[1m\u001b[1m\u001b[1mInvalid use of Function() with argument(s) of type(s): (list(int64), dtype=Literal[str](int32))\n * parameterized\n\u001b[1mIn definition 0:\u001b[0m\n\u001b[1m All templates rejected with literals.\u001b[0m\n\u001b[1mIn definition 1:\u001b[0m\n\u001b[1m All templates rejected without literals.\u001b[0m\n\u001b[1mThis error is usually caused by passing an argument of a type that is unsupported by the named function.\u001b[0m\u001b[0m\n\u001b[0m\u001b[1m[1] During: resolving callee type: Function()\u001b[0m\n\u001b[0m\u001b[1m[2] During: typing of call at (16)\n\u001b[0m\n\u001b[1m\nFile \"\", line 16:\u001b[0m\n\u001b[1mdef baz(arr):\n \n for i in range(3):\n\u001b[1m arr = np.concatenate((arr, np.array([i], dtype='int32')))\n\u001b[0m \u001b[1m^\u001b[0m\u001b[0m\n" + ] + } + ], + "source": [ + "@njit(int32(int32[:]))\n", + "def foo(arr):\n", + " a, b, c = arr[:3]\n", + " return a\n", + "\n", + "# @njit(int32())\n", + "# def bar():\n", + "# arr = []\n", + "# for i in range(3):\n", + "# arr = np.concatenate(arr, [i])\n", + "# a, b, c = arr[:3] \n", + "# return a\n", + "@njit(int32(int32[:]))\n", + "def baz(arr):\n", + " for i in range(3):\n", + " arr = np.concatenate((arr, np.array([i], dtype='int32')))\n", + " a, b, c = arr[:3] \n", + " return a" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "foo(np.array([1,2,3]).astype('int32'))" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "arr = np.array([1,2,3]).astype('int32')" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 0])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.concatenate((arr, np.array([0])))" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 0], dtype=int32)" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.concatenate((arr, np.array([0], dtype='int32')))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lrng/numba.py b/lrng/numba.py new file mode 100644 index 0000000..63c0255 --- /dev/null +++ b/lrng/numba.py @@ -0,0 +1,55 @@ +import numpy as np +from numba import jit, njit, int32 +def label_to_index(label, labels_order): + return np.where(labels_order == label)[0][0] +def labels_to_indices(labels, labels_order): + f = lambda label: label_to_index(label, labels_order) + return np.array(list(map(f, labels))) +def index_to_label(index, labels_order): + return labels_order[index] +def indices_to_labels(indices, labels_order): + f = lambda index : index_to_label(index, labels_order) + return np.array(list(map(f, indices))) +@njit +def merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b): + if label_a != label_b: # not of same type + return False + elif stop_a < start_b: # a does not start and then overlap b + return False + elif stop_b < start_a: # b does not start and then overlap a + return False + else: # same type and overlap, merge into i, do not append + return True + +@njit(int32[:](int32[:], int32[:])) +def _coalesce(ranges, coalesced): + for i in range(0, len(ranges), 3): + label_a, start_a, stop_a = ranges[i:i+3] + append_flag = True + for j in range(0, len(coalesced), 3): + label_b, start_b, stop_b = coalesced[j:j+3] + if merge_q(label_a, start_a, stop_a, label_b, start_b, stop_b): + append_flag = False + coalesced[j:j+3] = [label_a, min(start_a, start_b), max(stop_a, stop_b)] + break + if append_flag: + coalesced = np.concatenate((coalesced, ranges[i:i+3])) + return coalesced + + +@jit(forceobj=True) +def coalesce(ranges, labels_order): + # ensure np as input + np_labels = np.array(labels_order) + np_ranges = np.array(ranges) + np_result = np.array([], dtype='int32') + + # map labels to indices + np_ranges[:, 0] = labels_to_indices(np_ranges[:, 0], np_labels) + # serialize ranges + serialized = np.array(np_ranges, dtype='int32').flatten() + + results = coalesce_serialized(serialized, np_result).reshape(-1, 3) + + result_labels = indices_to_labels(results[:, 0], np_labels).reshape((-1, 1)) + return np.append(result_labels, results[:, 1:], axis = 1) -- GitLab From 762bba43e55477281ba4e70ebe6ed6c2113b8e91 Mon Sep 17 00:00:00 2001 From: Sumner Date: Sun, 30 Jun 2019 07:28:47 +0200 Subject: [PATCH 9/9] revert lrng.py move numba to seperate module --- lrng/lrng.py | 109 ++++++--------------------------------------------- 1 file changed, 12 insertions(+), 97 deletions(-) diff --git a/lrng/lrng.py b/lrng/lrng.py index 434c545..9024f41 100644 --- a/lrng/lrng.py +++ b/lrng/lrng.py @@ -1,68 +1,6 @@ from numbers import Number from copy import copy, deepcopy -from numba import jitclass, int32, prange, njit, jit -from numba.types import unicode_type - - - - - - - -@njit -# @jit -def coalesce(ranges): - coalesced = [] - for i, (label_a, start_a, stop_a) in enumerate(ranges): - # for i in prange(len(ranges)): - append_flag = True - for j, (label_b, start_b, stop_b) in enumerate(coalesced): - if label_a != label_b: # not of same type - continue - elif stop_a < start_b: # a does not start and then overlap b - continue - elif stop_b < start_a: # b does not start and then overlap a - continue - else: - # same type and overlap, merge into i, do not append - append_flag = False - coalesced[j] = [label_a, min([start_a, start_b]), max([stop_a, stop_b])] - break - if append_flag: - coalesced.append([label_a, start_a, stop_a]) - return coalesced - - -@njit -def _keep_range(start, stop, _range): - _type, range_start, range_stop = _range - if range_stop < start: [_type, range_start, range_stop, 0] - if range_start > stop: [_type, range_start, range_stop, 0] - return [_type, range_start, range_stop, 1] - -@njit -def label(unknown_range, reference_ranges, total=None, throttle=50): - start, stop = unknown_range - res = [_keep_range(start, stop, _range) for _range in reference_ranges] - # res = list(filter(lambda r : r is not None, res)) - res = [ - [_type, range_start, range_stop] - for (_type, range_start, range_stop, _keep) in res - if _keep - ] - return coalesce(res) - - - - -# labeled_range_spec = [ -# ('name', unicode_type), -# ('start', int32), -# ('stop', int32) -# ] -# -# @jitclass(labeled_range_spec) class LabeledRange: ''' A helper class for keeping track of the start / stop of a given class in a @@ -80,18 +18,10 @@ class LabeledRange: self.start = int(start) self.stop = int(stop) + ''' Various conversions from LabeledRange to pythonic types ''' - def as_instance(self): - # isinstance() only works in the interpreter. - return 'LabeledRange' - - def shares_class_q(self, other): - if hasattr(other, 'as_instance'): - return self.as_instance() == other.as_instance() - return False - def as_list(self): return [self.name, self.start, self.stop] def as_str_list(self): @@ -117,16 +47,14 @@ class LabeledRange: def __iter__(self): return (e for e in self.as_list()) def __eq__(self, other): - # if not isinstance(other, LabeledRange): - # return False + if not isinstance(other, LabeledRange): + return False return (self.name == other.name) and \ (self.start == other.start) and \ (self.stop == other.stop) def __ne__(self, other): return not self.__eq__(other) - - def __contains__(self, other): ''' Arguments: @@ -136,21 +64,18 @@ class LabeledRange: Returns: results (bool) ''' - if self.shares_class_q(other): # other is also LabeledRange: - if not other.same_q(self): - return False - return other.start in self and other.stop in self - else: # expecting a number - try: - return self.start <= other <= self.stop - except ValueError: - return False - return False + if isinstance(other, Number): + return self.start <= other <= self.stop + if not isinstance(other, LabeledRange): + return False + if not other.same_q(self): + return False + return other.start in self and other.stop in self def same_q(self, other): '''Whether or not other is of the same class''' - if not self.shares_class_q(other): + if not isinstance(other, LabeledRange): return False return self.name == other.name @@ -176,7 +101,7 @@ class LabeledRange: ''' Attempt to combine two ranges together. ''' - if not self.shares_class_q(other): + if not isinstance(other, LabeledRange): raise ValueError('{} is not a LabeledRange'.format(other)) if not self.overlap_q(other): return LabeledRanges([deepcopy(self), deepcopy(other)]) @@ -191,16 +116,6 @@ class LabeledRange: class LabeledRanges: - def as_instance(self): - # isinstance() only works in the interpreter. - # return self.__class__.__name__ - return 'LabeledRanges' - - def shares_class_q(self, other): - if hasattr(other, 'as_instance'): - return self.as_instance() == other.as_instance() - return False - def __init__(self, ranges:list=[]): self.ranges = ranges -- GitLab