void CheckSingular()
    {
        CountIterator begin(check_singular_iterator(5), check_singular_iterator(0));
        CountIterator end1(check_singular_iterator(0), check_singular_iterator(0));
        CountIterator end2;

        BOOST_TEST(begin == begin);
        BOOST_TEST(begin != end1);
        BOOST_TEST(begin != end2);

        BOOST_TEST(end1 != begin);
        BOOST_TEST(end1 == end1);
        BOOST_TEST(end1 == end2);

        BOOST_TEST(end2 != begin);
        BOOST_TEST(end2 == end1);
        BOOST_TEST(end2 == end2);

        BOOST_TEST(std::distance(begin, begin) == 0);
        BOOST_TEST(std::distance(begin, end1) == 5);
        BOOST_TEST(std::distance(begin, end2) == 5);

        BOOST_TEST(std::distance(end1, end1) == 0);
        BOOST_TEST(std::distance(end1, end2) == 0);

        BOOST_TEST(std::distance(end2, end1) == 0);
        BOOST_TEST(std::distance(end2, end2) == 0);
    }
bool startsWith(const string& str1, const string& str2) {
	if (str1.length() < str2.length()) {
		return false;
	}
	string::const_iterator it1(str1.begin());
	string::const_iterator end1(str1.end());
	string::const_iterator it2(str2.begin());
	string::const_iterator end2(str2.end());
	while (it1 != end1 && it2 != end2) {
		if (*it1 != *it2) {
			return false;
		}
		++it1;
		++it2;
	}
	return true;
}
Exemple #3
0
    bool CPolygon::intersert(const Vector2& lineStart, const Vector2& lineEnd, Point2DList& pointList) const
    {
        bool intersected = false;
        for (EdgeIterator p1ei = mCGALPolygon.edges_begin(); p1ei != mCGALPolygon.edges_end(); ++p1ei)
        {
            Vector2 start1((*p1ei).source().x(), (*p1ei).source().y());
            Vector2 end1((*p1ei).target().x(), (*p1ei).target().y());

            float crossx, crossy;

            if ( intersectWith(start1, end1, lineStart, lineEnd, crossx, crossy) )
            {
                pointList.push_back(Vector2(crossx,crossy));

                intersected = true;
            }
        }

        return intersected;
    }
Exemple #4
0
/**
 * @brief Compare two collision maps
 *
 * @param map1 First map to compare
 * @param map2 Second map to compare
 * @return true if maps are the same
 */
bool srs_env_model::CCMapPlugin::sameCMaps( arm_navigation_msgs::CollisionMap * map1, arm_navigation_msgs::CollisionMap * map2 )
{
	// Do not swap maps, if in the locked mode
	if( m_bLocked )
		return true;

	// Wrong input
	if( map1 == 0 || map2 == 0 )
	{
//		std::cerr << "Some null. map1: " << map1 << ", map2: " << map2 << std::endl;
		return false;
	}

	// Two maps cannot be the same, if differs in the size
	if( map1->boxes.size() != map2->boxes.size() )
	{
//		std::cerr << "Maps size different. map1: " << map1->boxes.size() << ", map2: " << map2->boxes.size() << std::endl;
		return false;
	}

	// Compare maps box by box
	arm_navigation_msgs::CollisionMap::_boxes_type::iterator icm1, icm2;
	arm_navigation_msgs::CollisionMap::_boxes_type::iterator end1( map1->boxes.end());

	long num( 0 );
	for( icm1 = map1->boxes.begin(), icm2 = map2->boxes.begin(); icm1 != end1; ++icm1, ++icm2 )
	{
		if( isGreat( icm1->center.x - icm2->center.x ) ||
				isGreat( icm1->center.y - icm2->center.y ) ||
				isGreat( icm1->center.z - icm2->center.z ) ||
				isGreat( icm1->extents.x - icm2->extents.x ) )
		{
//			std::cerr << "Point number " << num << " different." << std::endl;
			return false;
		}
		++num;
	}

	return true;
}
/* ------------------------------------------------------------------------ */
bool Platform_Layer_Info::
cmp(Platform_Layer_Info const& p) const
{
  // Compare sizes of bimaps first
  if(this->_bimap.left.size() != p._bimap.left.size())
    return false;
  // Compare layout (which device maps to which platform, in order)
  if(this->indices() != p.indices())
    return false;
  // Compare Platforms and Devices one by one
  typedef Bimap::left_const_iterator It;
  It cur1(_bimap.left.begin());
  It cur2(p._bimap.left.begin());
  It end1(_bimap.left.end());
  It end2(p._bimap.left.end());
  for(; cur1 != end1 && cur2 != end2; ++cur1, ++cur2)
    {
      if(*(cur1->first) != *(cur2->first) || *(cur1->second) != *(cur2->second))
        return false;
    }
  return true;
}
Exemple #6
0
int main1()
{
char ch;
clrscr();
printf("\n");
textcolor(CYAN);
cprintf("         Solutions to Basic Electronics");
printf("\n\n");
textcolor(MAGENTA);
cprintf("                         - S.P.Prathyush");
printf("\n\n\n");
textcolor(WHITE);
cprintf("         Enter The Topic");
printf("\n\n\t 1.Half Wave Rectifier \n\t 2.Full Wave Rectifier \n\t 3.Bridge Rectifier \n\t 4.Transistor \n\t 5.Solve by Equations \n\t 6.Definitions \n\t 7.Question Paper Pattern \n\t 8.Syllabus \n\t 9.Reference");
gotoxy(40,7);
printf(" Special Features:");
gotoxy(40,9);
printf(" a.Formula List");
gotoxy(40,10);
printf(" b.Features");
gotoxy(40,11);
printf(" c.View Credits");
printf("\n\n\t");
textcolor(YELLOW);
gotoxy(35,23);
cprintf(" Press Q to Quit ");
printf("\n\n\t");
gotoxy(35,24);
cprintf(" Enter Your Choice : ");
textcolor(WHITE);
printf("");
date();
ch=getche();
switch(ch)
{
case '1':
HWR();
break;

case '2':
FWR();
break;

case '3':
Bridge();
break;

case '4':
Transistor();
break;

case '5':
Equations();
break;

case '6':
definitions();
break;

case '7':
pattern();
break;

case '8':
syllabus();
break;

case '9':
reference();
break;

case 'a':
Formula();
break;

case 'b':
Features();
break;

case 'c':
credits();
break;

case 'Q':
exit(ch-'Q');
break;

default:
printf("\n\n\t");
textcolor(RED+BLINK);
cprintf(" Invalid Choice");
invalid();
getch();
end1();
break;
}
return 0;
}