@utils.singledispatch
def typeof_impl(val, c):
 tp = _typeof_buffer(val, c)
 if (tp is not None):
  return tp
 from . import cffi_utils
 if cffi_utils.SUPPORTED:
  if cffi_utils.is_cffi_func(val):
   return cffi_utils.make_function_type(val)
  if cffi_utils.is_ffi_instance(val):
   return types.ffi
 return getattr(val, '_numba_type_', None)

@ utils . singledispatch def typeof_impl ( val , c ) : tp = _typeof_buffer ( val , c ) if ( tp is not None ) : return tp from . import cffi_utils if cffi_utils . SUPPORTED : if cffi_utils . is_cffi_func ( val ) : return cffi_utils . make_function_type ( val ) if cffi_utils . is_ffi_instance ( val ) : return types . ffi return getattr ( val , '_numba_type_' , None )
generic typeof() implementation .