From 74452599bfeda51b7782947568c0cbfa82c88319 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Thu, 22 Aug 2013 19:59:41 +0100 Subject: [PATCH] disambiguate metric tonne (1,000kg) and US ton (2,000lb) --- .../samplesphysicalquantities.cpp | 2 +- src/blackmisc/pqunits.h | 17 ++++++++++++++--- tests/blackmisc/testphysicalquantities.cpp | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/samples/blackmiscquantities/samplesphysicalquantities.cpp b/samples/blackmiscquantities/samplesphysicalquantities.cpp index 322eaa450..bc9c87344 100644 --- a/samples/blackmiscquantities/samplesphysicalquantities.cpp +++ b/samples/blackmiscquantities/samplesphysicalquantities.cpp @@ -78,7 +78,7 @@ int CSamplesPhysicalQuantities::samples() a4.switchUnit(CAngleUnit::deg()); qDebug() << a3 << a4; - CMass w1(1, CMassUnit::t()); + CMass w1(1, CMassUnit::tonne()); CMass w2(w1); w2.switchUnit(CMassUnit::lb()); qDebug() << w1 << w1.valueRoundedWithUnit(CMassUnit::kg()) << w2; diff --git a/src/blackmisc/pqunits.h b/src/blackmisc/pqunits.h index 21170d00f..fbaa662a0 100644 --- a/src/blackmisc/pqunits.h +++ b/src/blackmisc/pqunits.h @@ -488,15 +488,25 @@ public: } /*! - * \brief Tonne, aka metric tonne (1000kg) + * \brief Tonne, aka metric ton (1000kg) * \return */ - static const CMassUnit &t() + static const CMassUnit &tonne() { static CMassUnit t(QT_TRANSLATE_NOOP("CMeasurementUnit", "tonne"), "t", 1000.0, 3); return t; } + /*! + * \brief Short ton (2000lb) used in the United States + * \return + */ + static const CMassUnit &shortTon() + { + static CMassUnit ton(QT_TRANSLATE_NOOP("CMeasurementUnit", "short ton"), "ton", 907.18474, 3); + return ton; + } + /*! * \brief Pound, aka mass pound * \return @@ -519,7 +529,8 @@ public: u.append(CMassUnit::g()); u.append(CMassUnit::kg()); u.append(CMassUnit::lb()); - u.append(CMassUnit::t()); + u.append(CMassUnit::tonne()); + u.append(CMassUnit::shortTon()); } return u; } diff --git a/tests/blackmisc/testphysicalquantities.cpp b/tests/blackmisc/testphysicalquantities.cpp index a958046de..b082256d7 100644 --- a/tests/blackmisc/testphysicalquantities.cpp +++ b/tests/blackmisc/testphysicalquantities.cpp @@ -109,7 +109,7 @@ void CTestPhysicalQuantities::massTests() { CMass w1(1000, CMassUnit::kg()); CMass w2(w1.value(), CMassUnit::kg()); - w2.switchUnit(CMassUnit::t()); + w2.switchUnit(CMassUnit::tonne()); QVERIFY2(w2.value() == 1, "1tonne shall be 1000kg"); w2.switchUnit(CMassUnit::lb()); QVERIFY2(w2.valueRounded(2) == 2204.62, "1tonne shall be 2204pounds");