return newRuleValue * divisor;
}
- virtual double calcUpperBound(double /*oldUpperBound*/) const { return divisor; }
+ virtual double calcUpperBound(double /*oldUpperBound*/) const { return static_cast<double>(divisor); }
virtual UChar tokenChar() const { return (UChar)0x003c; } // '<'
virtual void doSubstitution(double number, UnicodeString& toInsertInto, int32_t pos, int32_t recursionCount, UErrorCode& status) const;
virtual int64_t transformNumber(int64_t number) const { return number % divisor; }
- virtual double transformNumber(double number) const { return uprv_fmod(number, divisor); }
+ virtual double transformNumber(double number) const { return uprv_fmod(number, static_cast<double>(divisor)); }
virtual UBool doParse(const UnicodeString& text,
ParsePosition& parsePosition,
Formattable& result) const;
virtual double composeRuleValue(double newRuleValue, double oldRuleValue) const {
- return oldRuleValue - uprv_fmod(oldRuleValue, divisor) + newRuleValue;
+ return oldRuleValue - uprv_fmod(oldRuleValue, static_cast<double>(divisor)) + newRuleValue;
}
- virtual double calcUpperBound(double /*oldUpperBound*/) const { return divisor; }
+ virtual double calcUpperBound(double /*oldUpperBound*/) const { return static_cast<double>(divisor); }
virtual UBool isModulusSubstitution() const { return TRUE; }
}
}
// Try fast path
- if (n >= 0 && initVisibleDigits(scaled, -n, digits, status)) {
+ if (n >= 0 && initVisibleDigits(static_cast<int64_t>(scaled), -n, digits, status)) {
digits.fAbsDoubleValue = fabs(value);
digits.fAbsDoubleValueSet = U_SUCCESS(status) && !digits.isOverMaxDigits();
- // Adjust for negative 0 becuase when we cast to an int64,
+ // Adjust for negative 0 because when we cast to an int64,
// negative 0 becomes positive 0.
if (scaled == 0.0 && uprv_isNegative(scaled)) {
digits.setNegative();