Lines Matching refs:end

56 __gen_uint(uint64_t v, uint32_t start, uint32_t end)
59 const int width = end - start + 1;
70 __gen_sint(int32_t v, uint32_t start, uint32_t end)
73 const int width = end - start + 1;
81 return (((uint32_t) v) << start) & ((2ll << end) - 1);
85 __gen_unpack_uint(const uint8_t *restrict cl, uint32_t start, uint32_t end)
88 const int width = end - start + 1;
91 for (unsigned byte = start / 8; byte <= end / 8; byte++) {
109 __gen_unpack_lod(const uint8_t *restrict cl, uint32_t start, uint32_t end)
111 return ((float) __gen_unpack_uint(cl, start, end)) / (1 << 6);
115 __gen_unpack_sint(const uint8_t *restrict cl, uint32_t start, uint32_t end)
117 int size = end - start + 1;
118 int64_t val = __gen_unpack_uint(cl, start, end);
246 self.end = self.start + int(attrs["size"]) - 1
249 if self.type == 'bool' and self.start != self.end:
277 elif self.type in ['uint', 'hex'] and self.end - self.start > 32:
298 return self != field and max(self.start, field.start) <= min(self.end, field.end)
313 calculated = max(field.end // 8 for field in self.fields) + 1 if len(self.fields) > 0 else 0
343 def __init__(self, field, path, start, end):
347 self.end = end
360 end = offset + field.end
361 all_fields.append(self.FieldRef(field, field_path, start, end))
373 end = offset + field.end
374 contributor = self.FieldRef(field, field_path, start, end)
376 last_word = contributor.end // 32
421 end = contributor.end
424 end -= contrib_word_start
439 (value, start, end)
442 (value, start, end)
445 (value, start, end)
448 (value, start, end)
450 assert(start == 0 and end == 31)
453 assert(end - start + 1 == 10)
454 s = "__gen_uint(__float_to_lod(%s), %d, %d)" % (value, start, end)
471 # Given a field (start, end) contained in word `index`, generate the 32-bit
473 def mask_for_word(self, index, start, end):
476 end -= field_word_start
479 end = min(end, 32 - 1)
480 count = (end - start + 1)
491 masks = [self.mask_for_word(index, c.start, c.end) for c in word.contributors]
509 args.append(str(fieldref.end))
567 elif field.type in ["uint", "hex"] and (field.end - field.start) >= 32: