numba.targets package
Submodules
numba.targets.base module
-
class numba.targets.base.BaseContext(typing_context)
Bases: object
Most objects are lowered as plain-old-data structure in the generated
llvm. They are passed around by reference (a pointer to the structure).
Only POD structure can life across function boundaries by copying the
data.
-
add_exception(exc)
-
add_libs(libs)
-
call_class_method(builder, func, signature, args)
-
call_external_function(builder, callee, argtys, args)
-
call_function(builder, callee, resty, argtys, args)
-
call_function_pointer(builder, funcptr, signature, args)
-
cast(builder, val, fromty, toty)
-
debug_print(builder, text)
-
declare_external_function(module, fndesc)
-
declare_function(module, fndesc)
-
get_abi_sizeof(lty)
-
get_argument_type(ty)
-
get_argument_value(builder, ty, val)
Argument representation to local value representation
-
get_arguments(func)
-
get_attribute(val, typ, attr)
-
get_constant(ty, val)
-
get_constant_null(ty)
-
get_constant_struct(builder, ty, val)
-
get_constant_undef(ty)
-
get_data_type(ty)
Get a data representation of the type
Returns None if it is an opaque pointer
-
get_dummy_type()
-
get_dummy_value()
-
get_executable(func, fndesc)
-
get_external_function_type(fndesc)
-
get_function(fn, sig)
-
get_function_type(fndesc)
- Returns: -2 for return none in native function;
- -1 for failure with python exception set;
- 0 for success;
>0 for user error code.
Return value is passed by reference as the first argument.
It MUST NOT be used if the function is in nopython mode.
Actual arguments starts at the 2nd argument position.
Caller is responsible to allocate space for return value.
-
get_python_api(builder)
-
get_return_status(builder, code)
-
get_return_type(ty)
-
get_return_value(builder, ty, val)
Local value representation to return type representation
-
get_setattr(attr, sig)
-
get_struct_type(struct)
-
get_user_function(func)
-
get_value_as_argument(builder, ty, val)
Prepare local value representation as argument type representation
-
get_value_type(ty)
-
implement_pow_as_math_call = False
-
implement_powi_as_math_call = False
-
init()
For subclasses to add initializer
-
insert_attr_defn(defns)
-
insert_class(cls, attrs)
-
insert_const_string(mod, string)
-
insert_func_defn(defns)
-
insert_user_function(func, fndesc, libs=())
-
is_struct_type(ty)
-
is_true(builder, typ, val)
-
localized()
Returns a localized context that contains extra environment information
-
make_array(typ)
-
make_complex(typ)
-
make_constant_array(builder, typ, ary)
-
make_unituple_iter(typ)
-
mangler = None
-
optimize(module)
-
pack_value(builder, ty, value, ptr)
Pack data for array storage
-
print_string(builder, text)
-
return_errcode(builder, code)
-
return_errcode_propagate(builder, code)
-
return_exc(builder)
-
return_native_none(builder)
-
return_user_exc(builder, code)
-
return_value(builder, retval)
-
unpack_value(builder, ty, ptr)
Unpack data from array storage
-
class numba.targets.base.Overloads
Bases: object
-
append(impl)
-
find(sig)
-
class numba.targets.base.Status
Bases: tuple
Status(code, ok, err, exc, none)
-
code
Alias for field number 0
-
err
Alias for field number 2
-
exc
Alias for field number 3
-
none
Alias for field number 4
-
ok
Alias for field number 1
numba.targets.builtins module
-
class numba.targets.builtins.Complex128(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
class numba.targets.builtins.Complex64(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
class numba.targets.builtins.RangeIter32(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
class numba.targets.builtins.RangeIter64(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
class numba.targets.builtins.RangeState32(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
class numba.targets.builtins.RangeState64(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
class numba.targets.builtins.Slice(context, builder, value=None, ref=None)
Bases: numba.cgutils.Structure
-
numba.targets.builtins.array_len(context, builder, sig, args)
-
numba.targets.builtins.array_ndim(context, builder, typ, value, attr)
-
numba.targets.builtins.array_record_getattr(context, builder, typ, value, attr)
-
numba.targets.builtins.array_shape(context, builder, typ, value, attr)
-
numba.targets.builtins.array_size(context, builder, typ, value, attr)
-
numba.targets.builtins.array_strides(context, builder, typ, value, attr)
-
numba.targets.builtins.caster(restype)
-
numba.targets.builtins.cls
alias of Complex128
-
numba.targets.builtins.complex128_imag_impl(context, builder, typ, value, attr)
-
numba.targets.builtins.complex128_power_impl(context, builder, sig, args)
-
numba.targets.builtins.complex128_real_impl(context, builder, typ, value, attr)
-
numba.targets.builtins.complex64_imag_impl(context, builder, typ, value, attr)
-
numba.targets.builtins.complex64_real_impl(context, builder, typ, value, attr)
-
numba.targets.builtins.complex_add_impl(context, builder, sig, args)
-
numba.targets.builtins.complex_div_impl(context, builder, sig, args)
z = c^2 + d^2
(a+bi)/(c+di) = (ac + bd) / z, (bc - ad) / z
-
numba.targets.builtins.complex_impl(context, builder, sig, args)
-
numba.targets.builtins.complex_mult_impl(context, builder, sig, args)
(a+bi)(c+di)=(ac-bd)+i(ad+bc)
-
numba.targets.builtins.complex_negate_impl(context, builder, sig, args)
-
numba.targets.builtins.complex_positive_impl(context, builder, sig, args)
-
numba.targets.builtins.complex_sub_impl(context, builder, sig, args)
-
numba.targets.builtins.float_impl(context, builder, sig, args)
-
numba.targets.builtins.get_complex_info(ty)
-
numba.targets.builtins.getitem_array1d_intp(context, builder, sig, args)
-
numba.targets.builtins.getitem_array1d_slice(context, builder, sig, args)
-
numba.targets.builtins.getitem_array_tuple(context, builder, sig, args)
-
numba.targets.builtins.getitem_array_unituple(context, builder, sig, args)
-
numba.targets.builtins.getitem_unituple(context, builder, sig, args)
-
numba.targets.builtins.getiter_range32_impl(context, builder, sig, args)
-
numba.targets.builtins.getiter_range64_impl(context, builder, sig, args)
-
numba.targets.builtins.getiter_range_generic(context, builder, iterobj, start, stop, step)
-
numba.targets.builtins.getiter_unituple(context, builder, sig, args)
-
numba.targets.builtins.int_abs_impl(context, builder, sig, args)
-
numba.targets.builtins.int_add_impl(context, builder, sig, args)
-
numba.targets.builtins.int_and_impl(context, builder, sig, args)
-
numba.targets.builtins.int_ashr_impl(context, builder, sig, args)
-
numba.targets.builtins.int_divmod(context, builder, x, y)
Reference Objects/intobject.c
xdivy = x / y;
xmody = (long)(x - (unsigned long)xdivy * y);
/* If the signs of x and y differ, and the remainder is non-0,
- C89 doesn’t define whether xdivy is now the floor or the
- ceiling of the infinitely precise quotient. We want the floor,
- and we have it iff the remainder’s sign matches y’s.
*/
- if (xmody && ((y ^ xmody) < 0) /* i.e. and signs differ */) {
- xmody += y;
–xdivy;
assert(xmody && ((y ^ xmody) >= 0));
}
*p_xdivy = xdivy;
*p_xmody = xmody;
-
numba.targets.builtins.int_eq_impl(context, builder, sig, args)
-
numba.targets.builtins.int_impl(context, builder, sig, args)
-
numba.targets.builtins.int_invert_impl(context, builder, sig, args)
-
numba.targets.builtins.int_lshr_impl(context, builder, sig, args)
-
numba.targets.builtins.int_mul_impl(context, builder, sig, args)
-
numba.targets.builtins.int_ne_impl(context, builder, sig, args)
-
numba.targets.builtins.int_negate_impl(context, builder, sig, args)
-
numba.targets.builtins.int_or_impl(context, builder, sig, args)
-
numba.targets.builtins.int_positive_impl(context, builder, sig, args)
-
numba.targets.builtins.int_power_func_body(context, builder, x, y)
-
numba.targets.builtins.int_sdiv_impl(context, builder, sig, args)
-
numba.targets.builtins.int_sfloordiv_impl(context, builder, sig, args)
-
numba.targets.builtins.int_sge_impl(context, builder, sig, args)
-
numba.targets.builtins.int_sgt_impl(context, builder, sig, args)
-
numba.targets.builtins.int_shl_impl(context, builder, sig, args)
-
numba.targets.builtins.int_sign_impl(context, builder, sig, args)
-
numba.targets.builtins.int_sle_impl(context, builder, sig, args)
-
numba.targets.builtins.int_slt_impl(context, builder, sig, args)
-
numba.targets.builtins.int_spower_impl(context, builder, sig, args)
-
numba.targets.builtins.int_srem_impl(context, builder, sig, args)
-
numba.targets.builtins.int_struediv_impl(context, builder, sig, args)
-
numba.targets.builtins.int_sub_impl(context, builder, sig, args)
-
numba.targets.builtins.int_udiv_impl(context, builder, sig, args)
-
numba.targets.builtins.int_ufloordiv_impl(context, builder, sig, args)
-
numba.targets.builtins.int_uge_impl(context, builder, sig, args)
-
numba.targets.builtins.int_ugt_impl(context, builder, sig, args)
-
numba.targets.builtins.int_ule_impl(context, builder, sig, args)
-
numba.targets.builtins.int_ult_impl(context, builder, sig, args)
-
numba.targets.builtins.int_upower_impl(context, builder, sig, args)
-
numba.targets.builtins.int_urem_impl(context, builder, sig, args)
-
numba.targets.builtins.int_utruediv_impl(context, builder, sig, args)
-
numba.targets.builtins.int_xor_impl(context, builder, sig, args)
-
numba.targets.builtins.iternext_range32_impl(context, builder, sig, args)
-
numba.targets.builtins.iternext_range64_impl(context, builder, sig, args)
-
numba.targets.builtins.iternextsafe_unituple(context, builder, sig, args)
-
numba.targets.builtins.itervalid_range32_impl(context, builder, sig, args)
-
numba.targets.builtins.itervalid_range64_impl(context, builder, sig, args)
-
numba.targets.builtins.make_array(ty)
-
numba.targets.builtins.make_unituple_iter(tupiter)
-
numba.targets.builtins.math_e_impl(context, builder, typ, value, attr)
-
numba.targets.builtins.math_pi_impl(context, builder, typ, value, attr)
-
numba.targets.builtins.max_impl(context, builder, sig, args)
-
numba.targets.builtins.min_impl(context, builder, sig, args)
-
numba.targets.builtins.number_as_bool_impl(context, builder, sig, args)
-
numba.targets.builtins.number_not_impl(context, builder, sig, args)
-
numba.targets.builtins.range1_32_impl(context, builder, sig, args)
-
numba.targets.builtins.range1_64_impl(context, builder, sig, args)
-
numba.targets.builtins.range2_32_impl(context, builder, sig, args)
-
numba.targets.builtins.range2_64_impl(context, builder, sig, args)
-
numba.targets.builtins.range3_32_impl(context, builder, sig, args)
-
numba.targets.builtins.range3_64_impl(context, builder, sig, args)
-
numba.targets.builtins.real_abs_impl(context, builder, sig, args)
-
numba.targets.builtins.real_add_impl(context, builder, sig, args)
-
numba.targets.builtins.real_div_impl(context, builder, sig, args)
-
numba.targets.builtins.real_divmod(context, builder, x, y)
-
numba.targets.builtins.real_divmod_func_body(context, builder, vx, wx)
-
numba.targets.builtins.real_eq_impl(context, builder, sig, args)
-
numba.targets.builtins.real_ge_impl(context, builder, sig, args)
-
numba.targets.builtins.real_gt_impl(context, builder, sig, args)
-
numba.targets.builtins.real_le_impl(context, builder, sig, args)
-
numba.targets.builtins.real_lt_impl(context, builder, sig, args)
-
numba.targets.builtins.real_mod_impl(context, builder, sig, args)
-
numba.targets.builtins.real_mul_impl(context, builder, sig, args)
-
numba.targets.builtins.real_ne_impl(context, builder, sig, args)
-
numba.targets.builtins.real_negate_impl(context, builder, sig, args)
-
numba.targets.builtins.real_positive_impl(context, builder, sig, args)
-
numba.targets.builtins.real_power_impl(context, builder, sig, args)
-
numba.targets.builtins.real_sign_impl(context, builder, sig, args)
-
numba.targets.builtins.real_sub_impl(context, builder, sig, args)
-
numba.targets.builtins.round_impl_f32(context, builder, sig, args)
-
numba.targets.builtins.round_impl_f64(context, builder, sig, args)
-
numba.targets.builtins.setitem_array1d(context, builder, sig, args)
-
numba.targets.builtins.setitem_array_tuple(context, builder, sig, args)
-
numba.targets.builtins.setitem_array_unituple(context, builder, sig, args)
-
numba.targets.builtins.slice0_empty_impl(context, builder, sig, args)
-
numba.targets.builtins.slice0_none_none_impl(context, builder, sig, args)
-
numba.targets.builtins.slice1_start_impl(context, builder, sig, args)
-
numba.targets.builtins.slice1_stop_impl(context, builder, sig, args)
-
numba.targets.builtins.slice2_impl(context, builder, sig, args)
-
numba.targets.builtins.slice3_impl(context, builder, sig, args)
-
numba.targets.builtins.uint_abs_impl(context, builder, sig, args)
numba.targets.cpu module
-
class numba.targets.cpu.CPUContext(typing_context)
Bases: numba.targets.base.BaseContext
-
build_pass_manager()
-
dynamic_map_function(func)
-
get_abi_sizeof(lty)
-
get_executable(func, fndesc)
(cfunc, fnptr)
- cfunc
callable function (Can be None)
- fnptr
callable function address
-
init()
-
map_math_functions()
-
map_numpy_math_functions()
-
optimize(module)
-
optimize_pythonapi(func)
-
prepare_for_call(func, fndesc)
-
class numba.targets.cpu.CPUTargetOptions
Bases: numba.targets.options.TargetOptions
-
OPTIONS = {'forceobj': <type 'bool'>, 'boundcheck': <type 'bool'>, 'nopython': <type 'bool'>, 'looplift': <type 'bool'>, 'wraparound': <type 'bool'>}
-
numba.targets.cpu.remove_null_refct_call(bb)
Remove refct api calls to NULL pointer
-
numba.targets.cpu.remove_refct_calls(func)
Remove redundant incref/decref within on a per block basis
-
numba.targets.cpu.remove_refct_pairs(bb)
Remove incref decref pairs on the same variable
numba.targets.descriptors module
Target Descriptors
-
class numba.targets.descriptors.TargetDescriptor
Bases: object
numba.targets.imputils module
-
class numba.targets.imputils.Registry
Bases: object
-
register(item)
-
register_attr(item)
-
numba.targets.imputils.impl_attribute(ty, attr, rtype)
-
numba.targets.imputils.impl_attribute_generic(ty)
-
numba.targets.imputils.implement(func, *argtys)
-
numba.targets.imputils.python_attr_impl(cls, attr, atyp)
-
numba.targets.imputils.user_function(func, fndesc, libs)
numba.targets.intrinsics module
LLVM pass that converts intrinsic into other math calls
-
class numba.targets.intrinsics.DivmodFixer
Bases: object
Fix 64-bit div/mod on 32-bit machines
-
I64 = <llvm.core.IntegerType object at 0x1081b1350>
-
NAMES = ('sdiv', 'udiv', 'srem', 'urem')
-
declare(module, fname)
-
run(module)
-
run_on_func(func)
-
class numba.targets.intrinsics.IntrinsicMapping(context, mapping=None, availintr=None)
Bases: object
-
apply_mapping(module)
-
run(module)
-
translate_intrinsic_to_cmath(module)
-
numba.targets.intrinsics.powi_as_pow(context, fn)
numba.targets.mathimpl module
Provide math calls that uses intrinsics or libc math functions.
-
numba.targets.mathimpl.atan2_f32_impl(context, builder, sig, args)
-
numba.targets.mathimpl.atan2_f64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.atan2_s64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.atan2_u64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.degrees_f32_impl(context, builder, sig, args)
-
numba.targets.mathimpl.degrees_f64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.hypot_f32_impl(context, builder, sig, args)
-
numba.targets.mathimpl.hypot_f64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.hypot_s64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.hypot_u64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isinf_f32_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isinf_f64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isinf_s64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isinf_u64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isnan_f32_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isnan_f64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isnan_s64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.isnan_u64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.radians_f32_impl(context, builder, sig, args)
-
numba.targets.mathimpl.radians_f64_impl(context, builder, sig, args)
-
numba.targets.mathimpl.unary_math_extern(fn, f32extern, f64extern)
-
numba.targets.mathimpl.unary_math_int_impl(fn, f64impl)
-
numba.targets.mathimpl.unary_math_intr(fn, intrcode)
numba.targets.npyimpl module
-
class numba.targets.npyimpl.npy
This will be used as an index of the npy_* functions
-
acos = 'acos'
-
acosh = 'acosh'
-
asin = 'asin'
-
asinh = 'asinh'
-
atan = 'atan'
-
atanh = 'atanh'
-
ceil = 'ceil'
-
cos = 'cos'
-
cosh = 'cosh'
-
deg2rad = 'deg2rad'
-
exp = 'exp'
-
exp2 = 'exp2'
-
expm1 = 'expm1'
-
floor = 'floor'
-
log = 'log'
-
log10 = 'log10'
-
log1p = 'log1p'
-
log2 = 'log2'
-
rad2deg = 'rad2deg'
-
sin = 'sin'
-
sinh = 'sinh'
-
sqrt = 'sqrt'
-
tan = 'tan'
-
tanh = 'tanh'
-
trunc = 'trunc'
-
numba.targets.npyimpl.numpy_binary_ufunc(funckey, divbyzero=False, scalar_inputs=False, asfloat=False)
-
numba.targets.npyimpl.numpy_scalar_unary_ufunc(funckey, asfloat=True)
-
numba.targets.npyimpl.numpy_unary_ufunc(funckey, asfloat=False, scalar_input=False)
-
numba.targets.npyimpl.register_binary_ufunc(ufunc, operator, asfloat=False, divbyzero=False)
-
numba.targets.npyimpl.register_unary_ufunc(ufunc, operator, asfloat=False)
-
numba.targets.npyimpl.unary_npy_math_extern(fn)
numba.targets.operatorimpl module
numba.targets.options module
Target Options
-
class numba.targets.options.TargetOptions
Bases: object
-
OPTIONS = {}
-
from_dict(dic)
-
classmethod parse_as_flags(flags, options)
-
set_flags(flags)
Provide default flags setting logic.
Subclass can override.
numba.targets.printimpl module
This file implements print functionality for the CPU.
-
numba.targets.printimpl.int_print_impl(context, builder, sig, args)
-
numba.targets.printimpl.print_charseq(context, builder, sig, args)
-
numba.targets.printimpl.print_varargs(context, builder, sig, args)
-
numba.targets.printimpl.real_print_impl(context, builder, sig, args)
numba.targets.registry module
-
class numba.targets.registry.CPUOverloaded(py_func, locals={}, targetoptions={})
Bases: numba.dispatcher.Overloaded
-
targetdescr = <numba.targets.registry.CPUTarget object at 0x1085ac6d0>
-
class numba.targets.registry.CPUTarget
Bases: numba.targets.descriptors.TargetDescriptor
-
options
alias of CPUTargetOptions
-
target_context = <numba.targets.cpu.CPUContext object at 0x1085a7b10>
-
typing_context = <numba.typing.context.Context object at 0x10850ce50>
-
class numba.targets.registry.TargetRegistry(*args, **kws)
Bases: numba.utils.UniqueDict
ondemand:
A dictionary of target-name -> function, where function is executed
the first time a target is used. It is used for deferred
initialization for some targets (e.g. gpu).
Module contents