(
builder: LowLevelIRBuilder,
vtype: RVec,
values: list[Value],
line: int,
*,
capacity: Value | None = None,
)
| 176 | |
| 177 | |
| 178 | def vec_create_from_values( |
| 179 | builder: LowLevelIRBuilder, |
| 180 | vtype: RVec, |
| 181 | values: list[Value], |
| 182 | line: int, |
| 183 | *, |
| 184 | capacity: Value | None = None, |
| 185 | ) -> Value: |
| 186 | vec = vec_create(builder, vtype, len(values), line, capacity=capacity) |
| 187 | ptr = vec_items(builder, vec) |
| 188 | item_type = vtype.item_type |
| 189 | step = step_size(item_type) |
| 190 | for value in values: |
| 191 | vec_set_mem_item(builder, ptr, item_type, value) |
| 192 | ptr = builder.int_add(ptr, step) |
| 193 | builder.keep_alive([vec], line) |
| 194 | return vec |
| 195 | |
| 196 | |
| 197 | def step_size(item_type: RType) -> int: |
no test coverage detected
searching dependent graphs…