Lines Matching refs:precision

889       size_t precision = CPP_OPTION (pfile, precision);  in cpp_interpret_integer()  local
912 if (precision < PART_PRECISION) in cpp_interpret_integer()
913 max >>= PART_PRECISION - precision; in cpp_interpret_integer()
932 result = append_digit (result, c, base, precision); in cpp_interpret_integer()
948 && !num_positive (result, precision)) in cpp_interpret_integer()
981 append_digit (cpp_num num, int digit, int base, size_t precision) in append_digit() argument
1034 result = num_trim (result, precision); in append_digit()
1178 result = num_trim (result, CPP_OPTION (pfile, precision)); in eval_token()
1660 if (!num_positive (op[-1].value, CPP_OPTION (pfile, precision))) in check_promotion()
1665 else if (!num_positive (op->value, CPP_OPTION (pfile, precision))) in check_promotion()
1673 num_trim (cpp_num num, size_t precision) in num_trim() argument
1675 if (precision > PART_PRECISION) in num_trim()
1677 precision -= PART_PRECISION; in num_trim()
1678 if (precision < PART_PRECISION) in num_trim()
1679 num.high &= ((cpp_num_part) 1 << precision) - 1; in num_trim()
1683 if (precision < PART_PRECISION) in num_trim()
1684 num.low &= ((cpp_num_part) 1 << precision) - 1; in num_trim()
1693 num_positive (cpp_num num, size_t precision) in num_positive() argument
1695 if (precision > PART_PRECISION) in num_positive()
1697 precision -= PART_PRECISION; in num_positive()
1698 return (num.high & (cpp_num_part) 1 << (precision - 1)) == 0; in num_positive()
1701 return (num.low & (cpp_num_part) 1 << (precision - 1)) == 0; in num_positive()
1707 cpp_num_sign_extend (cpp_num num, size_t precision) in cpp_num_sign_extend() argument
1711 if (precision > PART_PRECISION) in cpp_num_sign_extend()
1713 precision -= PART_PRECISION; in cpp_num_sign_extend()
1714 if (precision < PART_PRECISION in cpp_num_sign_extend()
1715 && (num.high & (cpp_num_part) 1 << (precision - 1))) in cpp_num_sign_extend()
1716 num.high |= ~(~(cpp_num_part) 0 >> (PART_PRECISION - precision)); in cpp_num_sign_extend()
1718 else if (num.low & (cpp_num_part) 1 << (precision - 1)) in cpp_num_sign_extend()
1720 if (precision < PART_PRECISION) in cpp_num_sign_extend()
1721 num.low |= ~(~(cpp_num_part) 0 >> (PART_PRECISION - precision)); in cpp_num_sign_extend()
1731 num_negate (cpp_num num, size_t precision) in num_negate() argument
1740 num = num_trim (num, precision); in num_negate()
1748 num_greater_eq (cpp_num pa, cpp_num pb, size_t precision) in num_greater_eq() argument
1758 unsignedp = num_positive (pa, precision); in num_greater_eq()
1760 if (unsignedp != num_positive (pb, precision)) in num_greater_eq()
1803 bool gte = num_greater_eq (lhs, rhs, CPP_OPTION (pfile, precision)); in num_inequality_op()
1838 num_rshift (cpp_num num, size_t precision, size_t n) in num_rshift() argument
1841 bool x = num_positive (num, precision); in num_rshift()
1848 if (n >= precision) in num_rshift()
1853 if (precision < PART_PRECISION) in num_rshift()
1854 num.high = sign_mask, num.low |= sign_mask << precision; in num_rshift()
1855 else if (precision < 2 * PART_PRECISION) in num_rshift()
1856 num.high |= sign_mask << (precision - PART_PRECISION); in num_rshift()
1872 num = num_trim (num, precision); in num_rshift()
1879 num_lshift (cpp_num num, size_t precision, size_t n) in num_lshift() argument
1881 if (n >= precision) in num_lshift()
1903 num = num_trim (num, precision); in num_lshift()
1909 maybe_orig = num_rshift (num, precision, n); in num_lshift()
1931 num = num_negate (num, CPP_OPTION (pfile, precision)); in num_unary_op()
1937 num = num_trim (num, CPP_OPTION (pfile, precision)); in num_unary_op()
1957 size_t precision = CPP_OPTION (pfile, precision); in num_binary_op() local
1965 if (!rhs.unsignedp && !num_positive (rhs, precision)) in num_binary_op()
1972 rhs = num_negate (rhs, precision); in num_binary_op()
1979 lhs = num_lshift (lhs, precision, n); in num_binary_op()
1981 lhs = num_rshift (lhs, precision, n); in num_binary_op()
1993 result = num_trim (result, precision); in num_binary_op()
1996 bool lhsp = num_positive (lhs, precision); in num_binary_op()
1997 result.overflow = (lhsp != num_positive (rhs, precision) in num_binary_op()
1998 && lhsp != num_positive (result, precision)); in num_binary_op()
2010 result = num_trim (result, precision); in num_binary_op()
2013 bool lhsp = num_positive (lhs, precision); in num_binary_op()
2014 result.overflow = (lhsp == num_positive (rhs, precision) in num_binary_op()
2015 && lhsp != num_positive (result, precision)); in num_binary_op()
2071 size_t precision = CPP_OPTION (pfile, precision); in num_mul() local
2076 if (!num_positive (lhs, precision)) in num_mul()
2077 negate = !negate, lhs = num_negate (lhs, precision); in num_mul()
2078 if (!num_positive (rhs, precision)) in num_mul()
2079 negate = !negate, rhs = num_negate (rhs, precision); in num_mul()
2096 result = num_trim (result, precision); in num_mul()
2101 result = num_negate (result, precision); in num_mul()
2106 result.overflow = overflow || (num_positive (result, precision) ^ !negate in num_mul()
2125 size_t i, precision = CPP_OPTION (pfile, precision); in num_div_op() local
2130 if (!num_positive (lhs, precision)) in num_div_op()
2131 negate = !negate, lhs_neg = true, lhs = num_negate (lhs, precision); in num_div_op()
2132 if (!num_positive (rhs, precision)) in num_div_op()
2133 negate = !negate, rhs = num_negate (rhs, precision); in num_div_op()
2139 i = precision - 1; in num_div_op()
2147 if (precision > PART_PRECISION) in num_div_op()
2148 i = precision - PART_PRECISION - 1; in num_div_op()
2150 i = precision - 1; in num_div_op()
2171 i = precision - i - 1; in num_div_op()
2172 sub = num_lshift (rhs, precision, i); in num_div_op()
2177 if (num_greater_eq (lhs, sub, precision)) in num_div_op()
2199 result = num_negate (result, precision); in num_div_op()
2200 result.overflow = (num_positive (result, precision) ^ !negate in num_div_op()
2211 lhs = num_negate (lhs, precision); in num_div_op()