Lines Matching refs:precision

861       size_t precision = CPP_OPTION (pfile, precision);  in cpp_interpret_integer()  local
884 if (precision < PART_PRECISION) in cpp_interpret_integer()
885 max >>= PART_PRECISION - precision; in cpp_interpret_integer()
904 result = append_digit (result, c, base, precision); in cpp_interpret_integer()
920 && !num_positive (result, precision)) in cpp_interpret_integer()
953 append_digit (cpp_num num, int digit, int base, size_t precision) in append_digit() argument
1006 result = num_trim (result, precision); in append_digit()
1164 result = num_trim (result, CPP_OPTION (pfile, precision)); in eval_token()
1646 if (!num_positive (op[-1].value, CPP_OPTION (pfile, precision))) in check_promotion()
1651 else if (!num_positive (op->value, CPP_OPTION (pfile, precision))) in check_promotion()
1659 num_trim (cpp_num num, size_t precision) in num_trim() argument
1661 if (precision > PART_PRECISION) in num_trim()
1663 precision -= PART_PRECISION; in num_trim()
1664 if (precision < PART_PRECISION) in num_trim()
1665 num.high &= ((cpp_num_part) 1 << precision) - 1; in num_trim()
1669 if (precision < PART_PRECISION) in num_trim()
1670 num.low &= ((cpp_num_part) 1 << precision) - 1; in num_trim()
1679 num_positive (cpp_num num, size_t precision) in num_positive() argument
1681 if (precision > PART_PRECISION) in num_positive()
1683 precision -= PART_PRECISION; in num_positive()
1684 return (num.high & (cpp_num_part) 1 << (precision - 1)) == 0; in num_positive()
1687 return (num.low & (cpp_num_part) 1 << (precision - 1)) == 0; in num_positive()
1693 cpp_num_sign_extend (cpp_num num, size_t precision) in cpp_num_sign_extend() argument
1697 if (precision > PART_PRECISION) in cpp_num_sign_extend()
1699 precision -= PART_PRECISION; in cpp_num_sign_extend()
1700 if (precision < PART_PRECISION in cpp_num_sign_extend()
1701 && (num.high & (cpp_num_part) 1 << (precision - 1))) in cpp_num_sign_extend()
1702 num.high |= ~(~(cpp_num_part) 0 >> (PART_PRECISION - precision)); in cpp_num_sign_extend()
1704 else if (num.low & (cpp_num_part) 1 << (precision - 1)) in cpp_num_sign_extend()
1706 if (precision < PART_PRECISION) in cpp_num_sign_extend()
1707 num.low |= ~(~(cpp_num_part) 0 >> (PART_PRECISION - precision)); in cpp_num_sign_extend()
1717 num_negate (cpp_num num, size_t precision) in num_negate() argument
1726 num = num_trim (num, precision); in num_negate()
1734 num_greater_eq (cpp_num pa, cpp_num pb, size_t precision) in num_greater_eq() argument
1744 unsignedp = num_positive (pa, precision); in num_greater_eq()
1746 if (unsignedp != num_positive (pb, precision)) in num_greater_eq()
1789 bool gte = num_greater_eq (lhs, rhs, CPP_OPTION (pfile, precision)); in num_inequality_op()
1824 num_rshift (cpp_num num, size_t precision, size_t n) in num_rshift() argument
1827 bool x = num_positive (num, precision); in num_rshift()
1834 if (n >= precision) in num_rshift()
1839 if (precision < PART_PRECISION) in num_rshift()
1840 num.high = sign_mask, num.low |= sign_mask << precision; in num_rshift()
1841 else if (precision < 2 * PART_PRECISION) in num_rshift()
1842 num.high |= sign_mask << (precision - PART_PRECISION); in num_rshift()
1858 num = num_trim (num, precision); in num_rshift()
1865 num_lshift (cpp_num num, size_t precision, size_t n) in num_lshift() argument
1867 if (n >= precision) in num_lshift()
1889 num = num_trim (num, precision); in num_lshift()
1895 maybe_orig = num_rshift (num, precision, n); in num_lshift()
1917 num = num_negate (num, CPP_OPTION (pfile, precision)); in num_unary_op()
1923 num = num_trim (num, CPP_OPTION (pfile, precision)); in num_unary_op()
1943 size_t precision = CPP_OPTION (pfile, precision); in num_binary_op() local
1951 if (!rhs.unsignedp && !num_positive (rhs, precision)) in num_binary_op()
1958 rhs = num_negate (rhs, precision); in num_binary_op()
1965 lhs = num_lshift (lhs, precision, n); in num_binary_op()
1967 lhs = num_rshift (lhs, precision, n); in num_binary_op()
1979 result = num_trim (result, precision); in num_binary_op()
1982 bool lhsp = num_positive (lhs, precision); in num_binary_op()
1983 result.overflow = (lhsp != num_positive (rhs, precision) in num_binary_op()
1984 && lhsp != num_positive (result, precision)); in num_binary_op()
1996 result = num_trim (result, precision); in num_binary_op()
1999 bool lhsp = num_positive (lhs, precision); in num_binary_op()
2000 result.overflow = (lhsp == num_positive (rhs, precision) in num_binary_op()
2001 && lhsp != num_positive (result, precision)); in num_binary_op()
2057 size_t precision = CPP_OPTION (pfile, precision); in num_mul() local
2062 if (!num_positive (lhs, precision)) in num_mul()
2063 negate = !negate, lhs = num_negate (lhs, precision); in num_mul()
2064 if (!num_positive (rhs, precision)) in num_mul()
2065 negate = !negate, rhs = num_negate (rhs, precision); in num_mul()
2082 result = num_trim (result, precision); in num_mul()
2087 result = num_negate (result, precision); in num_mul()
2092 result.overflow = overflow || (num_positive (result, precision) ^ !negate in num_mul()
2111 size_t i, precision = CPP_OPTION (pfile, precision); in num_div_op() local
2116 if (!num_positive (lhs, precision)) in num_div_op()
2117 negate = !negate, lhs_neg = true, lhs = num_negate (lhs, precision); in num_div_op()
2118 if (!num_positive (rhs, precision)) in num_div_op()
2119 negate = !negate, rhs = num_negate (rhs, precision); in num_div_op()
2125 i = precision - 1; in num_div_op()
2133 if (precision > PART_PRECISION) in num_div_op()
2134 i = precision - PART_PRECISION - 1; in num_div_op()
2136 i = precision - 1; in num_div_op()
2157 i = precision - i - 1; in num_div_op()
2158 sub = num_lshift (rhs, precision, i); in num_div_op()
2163 if (num_greater_eq (lhs, sub, precision)) in num_div_op()
2185 result = num_negate (result, precision); in num_div_op()
2186 result.overflow = (num_positive (result, precision) ^ !negate in num_div_op()
2197 lhs = num_negate (lhs, precision); in num_div_op()