ai-content-maker/.venv/Lib/site-packages/numba/tests/test_numconv.py

39 lines
1008 B
Python
Raw Normal View History

2024-05-03 04:18:51 +03:00
import itertools
import unittest
from numba import njit
from numba.core import types
def template(fromty, toty):
def closure(self):
def cast(x):
y = x
return y
cfunc = njit(toty(fromty))(cast)
self.assertAlmostEqual(cfunc(1), 1)
return closure
class TestNumberConversion(unittest.TestCase):
"""
Test all int/float numeric conversion to ensure we have all the external
dependencies to perform these conversions.
"""
# NOTE: more implicit tests are in test_numberctor
@classmethod
def automatic_populate(cls):
tys = types.integer_domain | types.real_domain
for fromty, toty in itertools.permutations(tys, r=2):
test_name = "test_{fromty}_to_{toty}".format(fromty=fromty,
toty=toty)
setattr(cls, test_name, template(fromty, toty))
TestNumberConversion.automatic_populate()
if __name__ == '__main__':
unittest.main()