diff options
author | mcheshkov <mcheshkov@yandex-team.ru> | 2022-02-10 16:46:15 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:15 +0300 |
commit | e9d19cec64684c9c1e6b0c98297e5b895cf904fe (patch) | |
tree | 2768b1223e96a8a0610a93d18425d9647c1123c8 /contrib/libs/icu/i18n/number_notation.cpp | |
parent | 60040c91ffe701a84689b2c6310ff845e65cff42 (diff) | |
download | ydb-e9d19cec64684c9c1e6b0c98297e5b895cf904fe.tar.gz |
Restoring authorship annotation for <mcheshkov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/i18n/number_notation.cpp')
-rw-r--r-- | contrib/libs/icu/i18n/number_notation.cpp | 176 |
1 files changed, 88 insertions, 88 deletions
diff --git a/contrib/libs/icu/i18n/number_notation.cpp b/contrib/libs/icu/i18n/number_notation.cpp index b3cabb57a5..bf6b8179d9 100644 --- a/contrib/libs/icu/i18n/number_notation.cpp +++ b/contrib/libs/icu/i18n/number_notation.cpp @@ -1,88 +1,88 @@ -// © 2017 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/numberformatter.h" -#include "number_types.h" - -using namespace icu; -using namespace icu::number; -using namespace icu::number::impl; - - -ScientificNotation Notation::scientific() { - // NOTE: ISO C++ does not allow C99 designated initializers. - ScientificSettings settings; - settings.fEngineeringInterval = 1; - settings.fRequireMinInt = false; - settings.fMinExponentDigits = 1; - settings.fExponentSignDisplay = UNUM_SIGN_AUTO; - NotationUnion union_; - union_.scientific = settings; - return {NTN_SCIENTIFIC, union_}; -} - -ScientificNotation Notation::engineering() { - ScientificSettings settings; - settings.fEngineeringInterval = 3; - settings.fRequireMinInt = false; - settings.fMinExponentDigits = 1; - settings.fExponentSignDisplay = UNUM_SIGN_AUTO; - NotationUnion union_; - union_.scientific = settings; - return {NTN_SCIENTIFIC, union_}; -} - -ScientificNotation::ScientificNotation(int8_t fEngineeringInterval, bool fRequireMinInt, - impl::digits_t fMinExponentDigits, - UNumberSignDisplay fExponentSignDisplay) { - ScientificSettings settings; - settings.fEngineeringInterval = fEngineeringInterval; - settings.fRequireMinInt = fRequireMinInt; - settings.fMinExponentDigits = fMinExponentDigits; - settings.fExponentSignDisplay = fExponentSignDisplay; - NotationUnion union_; - union_.scientific = settings; - *this = {NTN_SCIENTIFIC, union_}; -} - -Notation Notation::compactShort() { - NotationUnion union_; - union_.compactStyle = CompactStyle::UNUM_SHORT; - return {NTN_COMPACT, union_}; -} - -Notation Notation::compactLong() { - NotationUnion union_; - union_.compactStyle = CompactStyle::UNUM_LONG; - return {NTN_COMPACT, union_}; -} - -Notation Notation::simple() { - return {}; -} - -ScientificNotation -ScientificNotation::withMinExponentDigits(int32_t minExponentDigits) const { - if (minExponentDigits >= 1 && minExponentDigits <= kMaxIntFracSig) { - ScientificSettings settings = fUnion.scientific; - settings.fMinExponentDigits = static_cast<digits_t>(minExponentDigits); - NotationUnion union_ = {settings}; - return {NTN_SCIENTIFIC, union_}; - } else { - return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR}; - } -} - -ScientificNotation -ScientificNotation::withExponentSignDisplay(UNumberSignDisplay exponentSignDisplay) const { - ScientificSettings settings = fUnion.scientific; - settings.fExponentSignDisplay = exponentSignDisplay; - NotationUnion union_ = {settings}; - return {NTN_SCIENTIFIC, union_}; -} - -#endif /* #if !UCONFIG_NO_FORMATTING */ +// © 2017 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_FORMATTING + +#include "unicode/numberformatter.h" +#include "number_types.h" + +using namespace icu; +using namespace icu::number; +using namespace icu::number::impl; + + +ScientificNotation Notation::scientific() { + // NOTE: ISO C++ does not allow C99 designated initializers. + ScientificSettings settings; + settings.fEngineeringInterval = 1; + settings.fRequireMinInt = false; + settings.fMinExponentDigits = 1; + settings.fExponentSignDisplay = UNUM_SIGN_AUTO; + NotationUnion union_; + union_.scientific = settings; + return {NTN_SCIENTIFIC, union_}; +} + +ScientificNotation Notation::engineering() { + ScientificSettings settings; + settings.fEngineeringInterval = 3; + settings.fRequireMinInt = false; + settings.fMinExponentDigits = 1; + settings.fExponentSignDisplay = UNUM_SIGN_AUTO; + NotationUnion union_; + union_.scientific = settings; + return {NTN_SCIENTIFIC, union_}; +} + +ScientificNotation::ScientificNotation(int8_t fEngineeringInterval, bool fRequireMinInt, + impl::digits_t fMinExponentDigits, + UNumberSignDisplay fExponentSignDisplay) { + ScientificSettings settings; + settings.fEngineeringInterval = fEngineeringInterval; + settings.fRequireMinInt = fRequireMinInt; + settings.fMinExponentDigits = fMinExponentDigits; + settings.fExponentSignDisplay = fExponentSignDisplay; + NotationUnion union_; + union_.scientific = settings; + *this = {NTN_SCIENTIFIC, union_}; +} + +Notation Notation::compactShort() { + NotationUnion union_; + union_.compactStyle = CompactStyle::UNUM_SHORT; + return {NTN_COMPACT, union_}; +} + +Notation Notation::compactLong() { + NotationUnion union_; + union_.compactStyle = CompactStyle::UNUM_LONG; + return {NTN_COMPACT, union_}; +} + +Notation Notation::simple() { + return {}; +} + +ScientificNotation +ScientificNotation::withMinExponentDigits(int32_t minExponentDigits) const { + if (minExponentDigits >= 1 && minExponentDigits <= kMaxIntFracSig) { + ScientificSettings settings = fUnion.scientific; + settings.fMinExponentDigits = static_cast<digits_t>(minExponentDigits); + NotationUnion union_ = {settings}; + return {NTN_SCIENTIFIC, union_}; + } else { + return {U_NUMBER_ARG_OUTOFBOUNDS_ERROR}; + } +} + +ScientificNotation +ScientificNotation::withExponentSignDisplay(UNumberSignDisplay exponentSignDisplay) const { + ScientificSettings settings = fUnion.scientific; + settings.fExponentSignDisplay = exponentSignDisplay; + NotationUnion union_ = {settings}; + return {NTN_SCIENTIFIC, union_}; +} + +#endif /* #if !UCONFIG_NO_FORMATTING */ |