Home | History | Annotate | Download | only in i18n

Lines Matching full:precision

111     precision = other.precision;
125 setBcdToZero(); // sets scale, precision, hasDouble, origDouble, origDelta, and BCD data
186 U_ASSERT(precision != 0);
187 return scale + precision - 1;
191 if (precision != 0) {
233 int32_t magnitude = scale + precision;
277 return precision == 0;
449 for (int32_t magnitude = scale + precision - 1; magnitude >= 0; magnitude--) {
477 int32_t lostDigits = precision - (precision < 17 ? precision : 17);
478 for (int shift = precision - 1; shift >= lostDigits; shift--) {
523 } else if (precision == 0) {
553 int32_t minP = uprv_max(0, precision - 14);
591 if (safeSubtract(position, 1) < precision - 14 ||
626 if (position >= precision) {
645 precision += 1; // in case an extra digit got added
664 if (appendAsInteger && precision != 0) {
707 if (position < 0 || position > precision) { return 0; }
731 if (!usingBytes && precision + numDigits > 16) {
735 ensureCapacity(precision + numDigits);
736 int i = precision + numDigits - 1;
747 precision += numDigits;
753 for (; i < precision - numDigits; i++) {
756 for (; i < precision; i++) {
763 precision -= numDigits;
774 precision = 0;
791 precision = 16 - i;
804 precision = i;
815 precision = 16 - i;
833 precision = dn->digits;
839 for (; delta < precision && fBCD.bcdBytes.ptr[delta] == 0; delta++);
840 if (delta == precision) {
849 // Compute precision
850 int32_t leading = precision - 1;
852 precision = leading + 1;
855 if (precision <= 16) {
869 for (; delta < precision && getDigitPos(delta) == 0; delta++);
873 // Compute precision
874 int32_t leading = precision - 1;
876 precision = leading + 1;
911 for (int i = precision - 1; i >= 0; i--) {
924 for (int i = 0; i < precision; i++) {
935 ensureCapacity(other.precision);
936 uprv_memcpy(fBCD.bcdBytes.ptr, other.fBCD.bcdBytes.ptr, other.precision * sizeof(int8_t));
944 if (precision == 0) { return u"Zero precision but we are in byte mode"; }
946 if (precision > capacity) { return u"Precision exceeds length of byte array"; }
947 if (getDigitPos(precision - 1) == 0) { return u"Most significant digit is zero in byte mode"; }
949 for (int i = 0; i < precision; i++) {
953 for (int i = precision; i < capacity; i++) {
957 if (precision == 0 && fBCD.bcdLong != 0) {
958 return u"Value in bcdLong even though precision is zero";
960 if (precision > 16) { return u"Precision exceeds length of long"; }
961 if (precision != 0 && getDigitPos(precision - 1) == 0) {
964 if (precision != 0 && getDigitPos(0) == 0) {
967 for (int i = 0; i < precision; i++) {
971 for (int i = precision; i < 16; i++) {
981 MaybeStackArray<char, 30> digits(precision + 1);
982 for (int32_t i = 0; i < precision; i++) {
983 digits[i] = getDigitPos(precision - i - 1) + '0';
985 digits[precision] = 0; // terminate buffer
996 (precision == 0 ? "0" : digits.getAlias()),
1003 MaybeStackArray<char, 30> digits(precision + 11);
1004 for (int32_t i = 0; i < precision; i++) {
1005 digits[i] = getDigitPos(precision - i - 1) + '0';
1007 snprintf(digits.getAlias() + precision, 11, "E%d", scale);