void encode_positive_integer_64()

in src/detail/encode_integer.cpp [124:152]


void encode_positive_integer_64(encode_context &context, uint64_t value) {
  #define ENCODE(bits, digits) do { \
    using type = uint_fast ## bits ## _t; \
    return positive<type, digits>::encode(context, type(value)); \
  } while (false)
  #define CUTOFF(bits, digits, cutoff) if (value < cutoff ## ULL) ENCODE(bits, digits);
  CUTOFF(32,  1, 10);
  CUTOFF(32,  2, 100);
  CUTOFF(32,  3, 1000);
  CUTOFF(32,  4, 10000);
  CUTOFF(32,  5, 100000);
  CUTOFF(32,  6, 1000000);
  CUTOFF(32,  7, 10000000);
  CUTOFF(32,  8, 100000000);
  CUTOFF(32,  9, 1000000000);
  CUTOFF(64, 10, 10000000000);
  CUTOFF(64, 11, 100000000000);
  CUTOFF(64, 12, 1000000000000);
  CUTOFF(64, 13, 10000000000000);
  CUTOFF(64, 14, 100000000000000);
  CUTOFF(64, 15, 1000000000000000);
  CUTOFF(64, 16, 10000000000000000);
  CUTOFF(64, 17, 100000000000000000);
  CUTOFF(64, 18, 1000000000000000000);
  CUTOFF(64, 19, 10000000000000000000);
  ENCODE(64, 20);
  #undef CUTOFF
  #undef ENCODE
}