MCPcopy Index your code
hub / github.com/python/mypy / vec_item_ptr

Function vec_item_ptr

mypyc/irbuild/vec.py:252–264  ·  view source on GitHub ↗
(builder: LowLevelIRBuilder, vecobj: Value, index: Value)

Source from the content-addressed store, hash-verified

250
251
252def vec_item_ptr(builder: LowLevelIRBuilder, vecobj: Value, index: Value) -> Value:
253 items_addr = vec_items(builder, vecobj)
254 assert isinstance(vecobj.type, RVec)
255 # TODO: Do we need to care about alignment?
256 item_type = vecobj.type.item_type
257 if isinstance(item_type, RPrimitive):
258 item_size = item_type.size
259 elif isinstance(item_type, RVec):
260 item_size = 2 * PLATFORM_SIZE
261 else:
262 item_size = object_rprimitive.size
263 delta = builder.int_mul(index, item_size)
264 return builder.int_add(items_addr, delta)
265
266
267def vec_load_mem_item(

Callers 3

vec_get_item_unsafeFunction · 0.85
vec_set_itemFunction · 0.85
vec_init_item_unsafeFunction · 0.85

Calls 4

vec_itemsFunction · 0.85
isinstanceFunction · 0.85
int_mulMethod · 0.80
int_addMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…