Lines Matching defs:scalar
195 /* Limited sign extension: scalar < (1 << 24). */
196 uint32_t scalar =
199 /* 1-byte rune / 0sssssss / 7 bit scalar (ASCII). */
200 scalar += (uint32_t)word[0];
201 word[0] = (uint8_t)(scalar & 0x7Fu);
207 /* 2-byte rune / 110sssss AAssssss / 11 bit scalar. */
209 scalar += (uint32_t)((word[1] & 0x3Fu) | ((word[0] & 0x1Fu) << 6u));
210 word[0] = (uint8_t)(0xC0 | ((scalar >> 6u) & 0x1F));
211 word[1] = (uint8_t)((word[1] & 0xC0) | (scalar & 0x3F));
214 /* 3-byte rune / 1110ssss AAssssss BBssssss / 16 bit scalar. */
216 scalar += (uint32_t)((word[2] & 0x3Fu) | ((word[1] & 0x3Fu) << 6u) |
218 word[0] = (uint8_t)(0xE0 | ((scalar >> 12u) & 0x0F));
219 word[1] = (uint8_t)((word[1] & 0xC0) | ((scalar >> 6u) & 0x3F));
220 word[2] = (uint8_t)((word[2] & 0xC0) | (scalar & 0x3F));
223 /* 4-byte rune / 11110sss AAssssss BBssssss CCssssss / 21 bit scalar. */
225 scalar += (uint32_t)((word[3] & 0x3Fu) | ((word[2] & 0x3Fu) << 6u) |
227 word[0] = (uint8_t)(0xF0 | ((scalar >> 18u) & 0x07));
228 word[1] = (uint8_t)((word[1] & 0xC0) | ((scalar >> 12u) & 0x3F));
229 word[2] = (uint8_t)((word[2] & 0xC0) | ((scalar >> 6u) & 0x3F));
230 word[3] = (uint8_t)((word[3] & 0xC0) | (scalar & 0x3F));