- if (analog->encoding->is_digits_decimal) {
- if (ctx->digits == DIGITS_ALL)
- digits = analog->encoding->digits;
- else
- digits = analog->spec->spec_digits;
- } else {
- /* TODO we don't know how to print by number of bits yet. */
- digits = 6;
- }
+ if (ctx->digits == DIGITS_ALL)
+ digits = analog->encoding->digits;
+ else
+ digits = analog->spec->spec_digits;
+ if (!analog->encoding->is_digits_decimal)
+ digits = copysign(ceil(abs(digits) * BIN_TO_DEC_DIGITS), digits);