Lines Matching refs:mantissa
612 unsigned int baseline, mantissa, exponent;
616 * baudrate = 12M * 32 / (mantissa * 4^exponent)
618 * mantissa = buf[8:0]
622 mantissa = baseline / baud;
623 if (mantissa == 0)
624 mantissa = 1; /* Avoid dividing by zero if baud > 32*12M. */
626 while (mantissa >= 512) {
628 mantissa >>= 2; /* divide by 4 */
631 /* Exponent is maxed. Trim mantissa and leave. */
632 mantissa = 511;
639 buf[1] = exponent << 1 | mantissa >> 8;
640 buf[0] = mantissa & 0xff;
643 baud = (baseline / mantissa) >> (exponent << 1);
651 unsigned int baseline, mantissa, exponent;
655 * baudrate = 12M * 32 / (mantissa * 2^exponent)
657 * mantissa = buf[10:0]
661 mantissa = baseline / baud;
662 if (mantissa == 0)
663 mantissa = 1; /* Avoid dividing by zero if baud > 32*12M. */
665 while (mantissa >= 2048) {
667 mantissa >>= 1; /* divide by 2 */
670 /* Exponent is maxed. Trim mantissa and leave. */
671 mantissa = 2047;
678 buf[1] = (exponent & ~0x01) << 4 | mantissa >> 8;
679 buf[0] = mantissa & 0xff;
682 baud = (baseline / mantissa) >> exponent;