本文整理汇总了C++中Dimensions::isDontcare方法的典型用法代码示例。如果您正苦于以下问题:C++ Dimensions::isDontcare方法的具体用法?C++ Dimensions::isDontcare怎么用?C++ Dimensions::isDontcare使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dimensions
的用法示例。
在下文中一共展示了Dimensions::isDontcare方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setDimensions
void
Region::setDimensions(Dimensions& newDims)
{
// Can only set dimensions one time
if (dims_ == newDims)
return;
if (dims_.isUnspecified())
{
if (newDims.isDontcare())
{
NTA_THROW << "Invalid attempt to set region dimensions to dontcare value";
}
if (! newDims.isValid())
{
NTA_THROW << "Attempt to set region dimensions to invalid value:"
<< newDims.toString();
}
dims_ = newDims;
dimensionInfo_ = "Specified explicitly in setDimensions()";
} else {
NTA_THROW << "Attempt to set dimensions of region " << getName()
<< " to " << newDims.toString()
<< " but region already has dimensions " << dims_.toString();
}
// can only create the enabled node set after we know the number of dimensions
setupEnabledNodeSet();
}
示例2:
// Deserialize region
Region::Region(const std::string& name,
const std::string& nodeType,
const Dimensions& dimensions,
BundleIO& bundle,
Network * network) :
name_(name),
type_(nodeType),
initialized_(false),
enabledNodes_(NULL),
network_(network)
{
// Set region info before creating the RegionImpl so that the
// Impl has access to the region info in its constructor.
RegionImplFactory & factory = RegionImplFactory::getInstance();
spec_ = factory.getSpec(nodeType);
// Dimensions start off as unspecified, but if
// the RegionImpl only supports a single node, we
// can immediately set the dimensions.
if (spec_->singleNodeOnly)
if (!dimensions.isDontcare() && !dimensions.isUnspecified() &&
!dimensions.isOnes())
NTA_THROW << "Attempt to deserialize region of type " << nodeType
<< " with dimensions " << dimensions
<< " but region supports exactly one node.";
dims_ = dimensions;
impl_ = factory.deserializeRegionImpl(nodeType, bundle, this);
createInputsAndOutputs_();
}
示例3:
TEST_F(DimensionsTest, DontCareDimensions) {
// dontcare dimensions [0]
Dimensions d;
d.push_back(0);
ASSERT_TRUE(!d.isUnspecified());
ASSERT_TRUE(d.isDontcare());
ASSERT_TRUE(d.isValid());
EXPECT_STREQ("[dontcare]", d.toString().c_str());
ASSERT_ANY_THROW(d.getIndex(zero));
ASSERT_ANY_THROW(d.getCount());
ASSERT_EQ((unsigned int)0, d.getDimension(0));
ASSERT_EQ((unsigned int)1, d.getDimensionCount());
}
示例4: RunTests
void DimensionsTest::RunTests()
{
Coordinate zero; // [0];
zero.push_back(0);
Coordinate one_two; // [1,2]
one_two.push_back(1);
one_two.push_back(2);
Coordinate three_four; // [3,4]
three_four.push_back(3);
three_four.push_back(4);
{
// empty dimensions (unspecified)
Dimensions d;
TEST(d.isUnspecified());
TEST(d.isValid());
TEST(!d.isDontcare());
SHOULDFAIL(d.getCount());
SHOULDFAIL(d.getDimension(0));
TESTEQUAL("[unspecified]", d.toString());
SHOULDFAIL(d.getIndex(one_two));
SHOULDFAIL(d.getCount());
SHOULDFAIL(d.getDimension(0));
TESTEQUAL((unsigned int)0, d.getDimensionCount());
}
{
// dontcare dimensions [0]
Dimensions d;
d.push_back(0);
TEST(!d.isUnspecified());
TEST(d.isDontcare());
TEST(d.isValid());
TESTEQUAL("[dontcare]", d.toString());
SHOULDFAIL(d.getIndex(zero));
SHOULDFAIL(d.getCount());
TESTEQUAL((unsigned int)0, d.getDimension(0));
TESTEQUAL((unsigned int)1, d.getDimensionCount());
}
{
// invalid dimensions
Dimensions d;
d.push_back(1);
d.push_back(0);
TEST(!d.isUnspecified());
TEST(!d.isDontcare());
TEST(!d.isValid());
TESTEQUAL("[1 0] (invalid)", d.toString());
SHOULDFAIL(d.getIndex(one_two));
SHOULDFAIL(d.getCount());
TESTEQUAL((unsigned int)1, d.getDimension(0));
TESTEQUAL((unsigned int)0, d.getDimension(1));
SHOULDFAIL(d.getDimension(2));
TESTEQUAL((unsigned int)2, d.getDimensionCount());
}
{
// valid dimensions [2,3]
// two rows, three columns
Dimensions d;
d.push_back(2);
d.push_back(3);
TEST(!d.isUnspecified());
TEST(!d.isDontcare());
TEST(d.isValid());
TESTEQUAL("[2 3]", d.toString());
TESTEQUAL((unsigned int)2, d.getDimension(0));
TESTEQUAL((unsigned int)3, d.getDimension(1));
SHOULDFAIL(d.getDimension(2));
TESTEQUAL((unsigned int)6, d.getCount());
TESTEQUAL((unsigned int)5, d.getIndex(one_two));
TESTEQUAL((unsigned int)2, d.getDimensionCount());
}
{
//check a two dimensional matrix for proper x-major ordering
std::vector<size_t> x;
x.push_back(4);
x.push_back(5);
Dimensions d(x);
size_t testDim1 = 4;
size_t testDim2 = 5;
for(size_t i = 0; i < testDim1; i++)
{
for(size_t j = 0; j < testDim2; j++)
{
Coordinate testCoordinate;
testCoordinate.push_back(i);
testCoordinate.push_back(j);
TESTEQUAL(i+j*testDim1, d.getIndex(testCoordinate));
TESTEQUAL(vecToString(testCoordinate),
vecToString(d.getCoordinate(i+j*testDim1)));
}
}
//.........这里部分代码省略.........