Lines Matching full:start
57 __gen_mbo(uint32_t start, uint32_t end) in __gen_mbo() argument
59 return (~0ull >> (64 - (end - start + 1))) << start; in __gen_mbo()
63 __gen_uint(uint64_t v, uint32_t start, uint32_t end) in __gen_uint() argument
68 const int width = end - start + 1; in __gen_uint()
75 return v << start; in __gen_uint()
79 __gen_sint(int64_t v, uint32_t start, uint32_t end) in __gen_sint() argument
81 const int width = end - start + 1; in __gen_sint()
95 return (v & mask) << start; in __gen_sint()
99 __gen_offset(uint64_t v, uint32_t start, uint32_t end) in __gen_offset() argument
103 uint64_t mask = (~0ull >> (64 - (end - start + 1))) << start; in __gen_offset()
119 __gen_sfixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits) in __gen_sfixed() argument
126 const float max = ((1 << (end - start)) - 1) / factor; in __gen_sfixed()
127 const float min = -(1 << (end - start)) / factor; in __gen_sfixed()
132 const uint64_t mask = ~0ull >> (64 - (end - start + 1)); in __gen_sfixed()
134 return (int_val & mask) << start; in __gen_sfixed()
138 __gen_ufixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits) in __gen_ufixed() argument
145 const float max = ((1 << (end - start + 1)) - 1) / factor; in __gen_ufixed()
152 return uint_val << start; in __gen_ufixed()
156 __gen_unpack_uint(const uint8_t *restrict cl, uint32_t start, uint32_t end) in __gen_unpack_uint() argument
159 const int width = end - start + 1; in __gen_unpack_uint()
162 for (int byte = start / 8; byte <= end / 8; byte++) { in __gen_unpack_uint()
163 val |= cl[byte] << ((byte - start / 8) * 8); in __gen_unpack_uint()
166 return (val >> (start % 8)) & mask; in __gen_unpack_uint()
170 __gen_unpack_sint(const uint8_t *restrict cl, uint32_t start, uint32_t end) in __gen_unpack_sint() argument
172 int size = end - start + 1; in __gen_unpack_sint()
173 int64_t val = __gen_unpack_uint(cl, start, end); in __gen_unpack_sint()
180 __gen_unpack_sfixed(const uint8_t *restrict cl, uint32_t start, uint32_t end, in __gen_unpack_sfixed() argument
183 int32_t bits = __gen_unpack_sint(cl, start, end); in __gen_unpack_sfixed()
188 __gen_unpack_ufixed(const uint8_t *restrict cl, uint32_t start, uint32_t end, in __gen_unpack_ufixed() argument
191 int32_t bits = __gen_unpack_uint(cl, start, end); in __gen_unpack_ufixed()
196 __gen_unpack_float(const uint8_t *restrict cl, uint32_t start, uint32_t end) in __gen_unpack_float() argument
198 assert(start % 8 == 0); in __gen_unpack_float()
199 assert(end - start == 31); in __gen_unpack_float()
201 struct PACKED { float f; } *f = (void *)(cl + (start / 8)); in __gen_unpack_float()