Lines Matching refs:significand
329 // immediately to the left of the significand.
379 // Returns just the significand bits from the value.
405 uint_type significand = getSignificandBits();
407 significand = static_cast<uint_type>(significand << 1);
409 significand &= fraction_encode_mask;
410 return significand;
417 // Note this assumes EVERY significand is normalized, and has an implicit
421 // since subnormals do not have an implicit leading 1 in the significand.
422 // The significand is also expected to be in the
429 bool negative, int_type exponent, uint_type significand,
431 bool significand_is_zero = significand == 0;
435 // the significand is not zero.
437 significand |= first_exponent_bit;
438 significand = static_cast<uint_type>(significand >> 1);
442 significand = static_cast<uint_type>(significand >> 1);
447 if (significand == 0 && !significand_is_zero && round_denorm_up) {
448 significand = static_cast<uint_type>(0x1);
462 significand = static_cast<uint_type>(significand & fraction_encode_mask);
463 new_value = static_cast<uint_type>(new_value | (exponent | significand));
467 // Increments the significand of this number by the given amount.
468 // If this would spill the significand into the implicit bit,
469 // carry is set to true and the significand is shifted to fit into
472 // for a valid significand.
473 static uint_type incrementSignificand(uint_type significand,
475 significand = static_cast<uint_type>(significand + to_increment);
477 if (significand & first_exponent_bit) {
481 significand = static_cast<uint_type>(significand & ~first_exponent_bit);
482 significand = static_cast<uint_type>(significand >> 1);
484 return significand;
548 // Returns the significand, rounded to fit in a significand in
551 // of the returned significand.
576 uint_type significand = getNormalizedSignificand();
579 out_val = static_cast<other_uint_type>(significand);
587 if ((significand & throwaway_mask) == 0) {
589 negatable_right_shift<num_throwaway_bits>::val(significand));
593 // We actually have to narrow the significand here, so we have to follow the
606 if ((first_rounded_bit & significand) == 0) {
609 if (((significand & throwaway_mask) & ~first_rounded_bit) != 0) {
616 if ((significand & last_significant_bit) != 0) {
627 significand, last_significant_bit, carry_bit)));
630 negatable_right_shift<num_throwaway_bits>::val(significand));
650 uint_type significand = getSignificandBits();
663 if (check_bit & significand) break;
668 (getBits() & exponent_mask) == exponent_mask && significand != 0;
672 (significand == 0 && (getBits() & exponent_mask) == exponent_mask));
686 static_cast<int_type>(num_fraction_bits)>::val(significand));