44 lines
811 B
Python
44 lines
811 B
Python
import numpy as np
|
|
|
|
import numba
|
|
from numba.tests.support import TestCase
|
|
|
|
|
|
class Issue455(object):
|
|
"""
|
|
Test code from issue 455.
|
|
"""
|
|
|
|
def __init__(self):
|
|
self.f = []
|
|
|
|
def create_f(self):
|
|
code = """
|
|
def f(x):
|
|
n = x.shape[0]
|
|
for i in range(n):
|
|
x[i] = 1.
|
|
"""
|
|
d = {}
|
|
exec(code.strip(), d)
|
|
self.f.append(numba.jit("void(f8[:])", nopython=True)(d['f']))
|
|
|
|
def call_f(self):
|
|
a = np.zeros(10)
|
|
for f in self.f:
|
|
f(a)
|
|
return a
|
|
|
|
|
|
class TestDynFunc(TestCase):
|
|
|
|
def test_issue_455(self):
|
|
inst = Issue455()
|
|
inst.create_f()
|
|
a = inst.call_f()
|
|
self.assertPreciseEqual(a, np.ones_like(a))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|