Repository URL to install this package:
|
Version:
0.36.2 ▾
|
from __future__ import print_function, division, absolute_import
import numpy as np
from numba.compiler import compile_isolated
from numba import typeof
from numba import unittest_support as unittest
from .support import MemoryLeakMixin
def array_return(a, i):
a[i] = 123
return a
def array_return_start_with_loop(a):
for i in range(a.size):
a[i] += 1
return a
class TestArrayReturn(MemoryLeakMixin, unittest.TestCase):
def test_array_return(self):
a = np.arange(10)
i = 2
at, it = typeof(a), typeof(i)
cres = compile_isolated(array_return, (at, it))
cfunc = cres.entry_point
self.assertIs(a, cfunc(a, i))
def test_array_return_start_with_loop(self):
"""
A bug breaks array return if the function starts with a loop
"""
a = np.arange(10)
at = typeof(a)
cres = compile_isolated(array_return_start_with_loop, [at])
cfunc = cres.entry_point
self.assertIs(a, cfunc(a))
if __name__ == '__main__':
unittest.main()