本文整理汇总了C++中IntervalObject::dimension方法的典型用法代码示例。如果您正苦于以下问题:C++ IntervalObject::dimension方法的具体用法?C++ IntervalObject::dimension怎么用?C++ IntervalObject::dimension使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IntervalObject
的用法示例。
在下文中一共展示了IntervalObject::dimension方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: split
void split(const IntervalObject & v, IntervalObject& center, IntervalObject & diameter) {
if((v.dimension()!=center.dimension()) && (v.dimension()!=diameter.dimension()))
throw std::range_error("Unequal dimensions in function chomp::vectalg::split");
typename IntervalObject::const_iterator b = v.begin(), e=v.end();
typename IntervalObject::iterator c = center.begin(), d=diameter.begin();
while(b!=e) {
b->split(*c, *d);
b++; c++; d++;
}
}
示例2: subsetInterior
bool subsetInterior(const IntervalObject& v1, const IntervalObject& v2)
{
if(v1.dimension()!=v2.dimension())
throw std::range_error("Unequal dimensions in function capd::vectalg::subsetInterior");
typename IntervalObject::const_iterator b = v1.begin(), e=v1.end(), i=v2.begin();
while(b!=e)
{
if(!(b->subsetInterior(*i))) return false;
++b;
++i;
}
return true;
}
示例3: mid
void mid(const IntervalObject &v, IntervalObject &result)
{
if(v.dimension()!=result.dimension())
throw std::range_error("Unequal dimensions in function chomp::vectalg::mid");
typedef typename IntervalObject::ScalarType ScalarType;
typename IntervalObject::iterator i = result.begin();
typename IntervalObject::const_iterator b = v.begin(), e=v.end();
while(b!=e)
{
*i = b->mid();
++i;
++b;
}
}
示例4: intervalHull
void intervalHull(const IntervalObject &v1, const IntervalObject &v2, IntervalObject &result)
{
if(v1.dimension()!=v2.dimension())
throw std::range_error("Unequal dimensions in function capd::vectalg::intervalHull");
if(v1.dimension()!=result.dimension())
throw std::range_error("Unequal dimensions in function capd::vectalg::intervalHull");
typedef typename IntervalObject::ContainerType ContainerType;
typename ContainerType::const_iterator b1 = v1.ContainerType::begin(), b2=v2.ContainerType::begin();
typename ContainerType::iterator b = result.ContainerType::begin(), e=result.ContainerType::end();
while(b!=e)
{
*b = intervalHull(*b1,*b2);
++b;
++b1;
++b2;
}
}
示例5: intersection
bool intersection(const IntervalObject &v1, const IntervalObject &v2, IntervalObject &result)
{
if(v1.dimension()!=v2.dimension())
throw std::range_error("Unequal dimensions in function chomp::vectalg::intersection");
if(v1.dimension()!=result.dimension())
throw std::range_error("Unequal dimensions in function chomp::vectalg::intersection");
typename IntervalObject::const_iterator b1 = v1.begin(), b2=v2.begin();
typename IntervalObject::iterator b = result.begin(), e=result.end();
while(b!=e)
{
if( !intersection(*b1,*b2,*b))
return false;
++b;
++b1;
++b2;
}
return true;
}
示例6: mid
void mid(const IntervalObject& v, ResultType& result)
{
if(v.dimension()!=result.dimension())
throw std::range_error("Unequal dimensions in function capd::vectalg::mid");
typename ResultType::iterator i = result.begin();
typename IntervalObject::const_iterator b = v.begin(), e=v.end();
while(b!=e)
{
*i = mid(*b);
++i;
++b;
}
}
示例7: diameter
void diameter(const IntervalObject &v, ResultContainer &result)
{
if(v.dimension()!=result.dimension())
throw std::range_error("Unequal dimensions in function capd::vectalg::diameter");
typename ResultContainer::iterator i = result.begin();
typename IntervalObject::const_iterator b = v.begin(), e=v.end();
while(b!=e)
{
*i = diam(*b);
++i;
++b;
}
}
示例8: midObject
ResultType midObject(const IntervalObject &v)
{
ResultType result(v.dimension());
typedef typename ResultType::ScalarType ScalarType;
typename ResultType::iterator i = result.begin();
typename IntervalObject::const_iterator b = v.begin(), e=v.end();
while(b!=e)
{
*i = (b->leftBound()+b->rightBound())/ScalarType(2.0);
++i;
++b;
}
return result;
}
示例9: diameter
void diameter(const IntervalObject &v, ResultContainer &result)
{
if(v.dimension()!=result.dimension())
throw std::range_error("Unequal dimensions in function chomp::vectalg::diameter");
typedef typename IntervalObject::ScalarType ScalarType;
typename ResultContainer::iterator i = result.begin();
typename IntervalObject::const_iterator b = v.begin(), e=v.end();
while(b!=e)
{
*i = (ScalarType(b->rightBound()) - ScalarType(b->leftBound())).rightBound();
++i;
++b;
}
}