本文整理汇总了C++中OptionalQuantity::setScale方法的典型用法代码示例。如果您正苦于以下问题:C++ OptionalQuantity::setScale方法的具体用法?C++ OptionalQuantity::setScale怎么用?C++ OptionalQuantity::setScale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OptionalQuantity
的用法示例。
在下文中一共展示了OptionalQuantity::setScale方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: siSys
TEST_F(UnitsFixture,QuantityConverter_BTUandIPUsingSystem)
{
LOG(Debug, "QuantityConverter_BTUandIPUsingSystem");
UnitSystem siSys(UnitSystem::SI);
UnitSystem ipSys(UnitSystem::IP);
UnitSystem btuSys(UnitSystem::BTU);
// uses BTU to SI, SI to IP
BTUUnit btuu1(openstudio::BTUExpnt(1,-2,0,0), 3);
Quantity bQ( 67.5, btuu1 );
testStreamOutput("67.5 kBtu/ft^2",bQ);
OptionalQuantity ipQ = QuantityConverter::instance().convert( bQ, ipSys);
EXPECT_TRUE(ipQ);
if (ipQ) {
EXPECT_EQ("lb_m/s^2",ipQ->standardUnitsString(false));
EXPECT_EQ("klb_m/s^2",ipQ->standardUnitsString());
SCOPED_TRACE("btu1 to IP");
testNumbersEqual(1689985.20448, ipQ->value());
}
BTUUnit btuu2(openstudio::BTUExpnt(0,0,-1));
bQ = Quantity(5000.0, btuu2);
ipQ = QuantityConverter::instance().convert( bQ, ipSys);
EXPECT_TRUE(ipQ);
if (ipQ) {
SCOPED_TRACE("bQ to IP, 1");
testStreamOutput("1.3889 1/s",*ipQ,4);
}
bQ *= bQ; // 25E6/h^2
ipQ = QuantityConverter::instance().convert( bQ, ipSys);
EXPECT_TRUE(ipQ);
if (ipQ) {
SCOPED_TRACE("bQ to IP, 2");
testStreamOutput("1.9290 1/s^2",*ipQ,4);
}
BTUUnit btuu3(openstudio::BTUExpnt(-1),-3);
bQ = Quantity(1.0, btuu3);
testStreamOutput("1 1/kBtu",bQ);
OptionalQuantity siQ = QuantityConverter::instance().convert(bQ,siSys);
EXPECT_TRUE(siQ);
if (siQ) {
EXPECT_EQ("1/J",siQ->prettyUnitsString(false));
SCOPED_TRACE("btu3 to SI");
testNumbersEqual(9.478171203133172e-4,siQ->value());
siQ->setScale(0);
SCOPED_TRACE("rescaled btu3 to SI");
testNumbersEqual(9.478171203133172e-7,siQ->value());
}
// uses IP to SI, SI to BTU
IPUnit ipu1(openstudio::IPExpnt(0,1,0,-1,0,0,0,1), -2);
Quantity ipQ2( 2.0, ipu1);
OptionalQuantity bQ2 = QuantityConverter::instance().convert( ipQ2, btuSys);
EXPECT_TRUE(bQ2);
if (bQ2) {
EXPECT_EQ("Btu/R", bQ2->standardUnitsString(false));
EXPECT_EQ("cBtu/R", bQ2->standardUnitsString());
SCOPED_TRACE("ipu1 to BTU");
testNumbersEqual(0.002570134927, bQ2->value(),1.0e-5);
bQ2->setScale(0);
EXPECT_EQ("Btu/R", bQ2->standardUnitsString());
testNumbersEqual(2.570134927e-5, bQ2->value(),1.0e-5);
}
}