本文整理汇总了C++中numeric::Ptr::get方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::get方法的具体用法?C++ Ptr::get怎么用?C++ Ptr::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类numeric::Ptr
的用法示例。
在下文中一共展示了Ptr::get方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST_F(TestNumericFactory, GetShouldReturnValidNumericObject)
{
NumericFactory factory;
factory.Add("TEST", createInstance);
Numeric::Ptr numeric = factory.Get("TEST", BASE_DECIMAL);
EXPECT_NE(static_cast<Numeric*>(0), numeric.get());
}
示例2: power
Numeric::Ptr ATFloatOrDerivedImpl::power(const Numeric::Ptr &other, const DynamicContext* context) const
{
switch(other->getPrimitiveTypeIndex()) {
case DECIMAL:
// if other is a decimal, promote it to xs:float
return power(context->getItemFactory()->createFloat(other->asMAPM(), context), context);
case FLOAT: {
ATFloatOrDerivedImpl *otherImpl = (ATFloatOrDerivedImpl*)other.get();
switch(_state) {
case NaN:
return this;
case INF: {
switch(otherImpl->_state) {
case NaN:
return other;
case NEG_NUM:
case NUM:
case INF:
case NEG_INF:
return this;
default:
assert(false);
return 0; // should never get here
}
}
case NEG_INF: {
switch(otherImpl->_state) {
case NaN:
return other;
case NEG_NUM:
case NUM:
case INF:
case NEG_INF:
return this;
default:
assert(false);
return 0; // should never get here
}
}
case NEG_NUM:
case NUM: {
switch(otherImpl->_state) {
case NaN:
return other;
case INF:
return other;
case NEG_INF:
return infinity(context);
case NEG_NUM:
case NUM:
return newFloat(_float.pow(otherImpl->_float), context);
default:
assert(false);
return 0; // should never get here
}
}
default:
assert(false);
return 0; // should never get here
}
}
case DOUBLE:
return ((Numeric*)this->castAs(DOUBLE, context).get())->power(other, context);
default:
assert(false);
return 0; // Shouldn't happen
}
}