def test_cffi_function_pointer_template_source(self): from numba.tests import cffi_usecases as mod mod.init() func = mod.cffi_cos @njit def foo(): func('a') with self.assertRaises(errors.TypingError) as raises: foo() excstr = str(raises.exception) self.assertIn("Type Restricted Function in function 'unknown'", excstr)
def test_cffi(self): from numba.tests import cffi_usecases as mod mod.init() ty_cffi_cos = typeof(mod.cffi_cos) ty_cffi_sin = typeof(mod.cffi_sin) ty_cffi_boolean = typeof(mod.cffi_bool) self.assertIsInstance(ty_cffi_cos, types.ExternalFunctionPointer) self.assertEqual(ty_cffi_boolean.sig.return_type, types.boolean) self.assertEqual(ty_cffi_cos.sig.args, (types.float64, )) self.assertEqual(ty_cffi_cos.sig.return_type, types.float64) self.assertEqual(ty_cffi_cos, ty_cffi_sin) ty_ctypes_cos = typeof(c_cos) self.assertNotEqual(ty_cffi_cos, ty_ctypes_cos) self.assertNotEqual(ty_cffi_cos.get_pointer(mod.cffi_cos), ty_cffi_sin.get_pointer(mod.cffi_sin)) self.assertEqual(ty_cffi_cos.get_pointer(mod.cffi_cos), ty_ctypes_cos.get_pointer(c_cos))
def setUp(self): mod.init() mod.init_ool()