draco/docs/spec/core.functions.md
2017-10-03 09:58:52 -07:00

60 lines
819 B
Markdown

## Core Functions
### LEB128
~~~~~
uint64_t LEB128() {
result = 0;
shift = 0;
while(true) {
in UI8
result |= (low order 7 bits of in) << shift;
if (high order bit of in == 0)
break;
shift += 7;
}
return result;
}
~~~~~
{:.draco-syntax }
### mem_get_le16
~~~~~
uint32_t mem_get_le16(mem) {
val = mem[1] << 8;
val |= mem[0];
return val;
}
~~~~~
{:.draco-syntax }
### mem_get_le24
~~~~~
uint32_t mem_get_le24(mem) {
val = mem[2] << 16;
val |= mem[1] << 8;
val |= mem[0];
return val;
}
~~~~~
{:.draco-syntax }
### mem_get_le32
~~~~~
uint32_t mem_get_le32(mem) {
val = mem[3] << 24;
val |= mem[2] << 16;
val |= mem[1] << 8;
val |= mem[0];
return val;
}
~~~~~
{:.draco-syntax }