int main()

in src/testvlq.c [29:52]


int main() {
  uint8_t buf[20];
  for (int64_t i = 0; i < 60; i++) {
    for (int64_t j = -10; j < 10; j++) {
      int64_t val = (1 << i) + j;
      if (val >= 0) {
        uint64_t written = write_vlq(buf, val);
        uint64_t pos = 0;
        int64_t val2 = read_vlq(buf, &pos);
        assert_equals(written, pos);
        assert_equals(val, val2);
      }
    }
  }

  assert_equals(1, write_vlq(buf, 0));
  assert_equals(1, write_vlq(buf, 127));
  assert_equals(2, write_vlq(buf, 128));
  assert_equals(2, write_vlq(buf, 16383));
  assert_equals(3, write_vlq(buf, 16384));
  assert_equals(3, write_vlq(buf, 2097151));
  assert_equals(4, write_vlq(buf, 2097152));
  printf("Success!\n");
}