Example #1
0
	grect WinRT::rotateViewport(grect viewport)
	{
		static int w = 0;
		static int h = 0;
		if (w == 0 || h == 0)
		{
			gvec2 resolution = april::getSystemInfo().displayResolution;
			w = hround(resolution.x);
			h = hround(resolution.y);
			CHECK_SWAP(w, h);
		}
		int rotation = WinRT::getScreenRotation();
		if (rotation == 90)
		{
			hswap(viewport.x, viewport.y);
			hswap(viewport.w, viewport.h);
			viewport.x = w - (viewport.x + viewport.w);
		}
		else if (rotation == 180)
		{
			viewport.x = w - (viewport.x + viewport.w);
			viewport.y = h - (viewport.y + viewport.h);
		}
		else if (rotation == 270)
		{
			hswap(viewport.x, viewport.y);
			hswap(viewport.w, viewport.h);
			viewport.y = h - (viewport.y + viewport.h);
		}
		return viewport;
	}
Example #2
0
	bool ScrollBar::onMouseScroll(float x, float y)
	{
		if (Object::onMouseScroll(x, y))
		{
			return true;
		}
		Container* parent = dynamic_cast<Container*>(this->parent);
		if (parent != NULL && (parent->isCursorInside() || this->isCursorInside()))
		{
			ScrollArea* area = parent->_getScrollArea();
			if (area != NULL && area->isSwapScrollWheels())
			{
				hswap(x, y);
			}
			this->addScrollValue(this->_calcScrollMove(x, y));
		}
		return false;
	}
Example #3
0
int main (int argc,char *argv[])
{
double sigx = 0.0 ,sigx2 = 0.0, sig;
int nn,ne,cval = 0,num_attemp = 0,mincval = 32600;
int *igraph, *ma,*mb,*costa,oneflag = 1;  /* ,*check,x; */
nodez *alist;
indextype *sindex;
clock_t startt;
float matcht = 0,partt= 0,swapt = 0,bestt,ttime,curtime,run_time;

	periodt();
	startt = clock();
	srand(32063);
	getgraph(argc,argv,&igraph,&ma,&mb,&sindex,
		 &nn,&ne,&alist);
	cand_list_size = atoi(argv[4]);
	if(argv[3][0] == '4')
		big_flag = 0;
	run_time = atof(argv[5]);

	readgraph(ne,nn,igraph,alist);
	curtime = clock()/CLK_TCK;
	while (curtime < run_time * 2)
		{
		num_attemp++;
		remem(&costa,nn);
		switch (argv[2][0])
			{
			case '1': heappart(costa,nn,ma,mb,alist);
				  partt += periodt();
				  break;
			case '2': greedypart(costa,nn,ma,mb,sindex,alist);
				  partt += periodt();
				  break;
			default : exit(0);
			}
		switch (argv[3][0])
			{
			case '1': hswap(igraph,ma,mb,costa,nn,&cval,alist);
				  break;
			case '2': slightswap(igraph,ma,mb,costa,nn,&cval,alist);
				  break;
			case '3': slightestswap(igraph,ma,mb,costa,nn,&cval,alist);
				  break;
			case '4': aslightswap(ma,mb,costa,nn,&cval,alist);
				  break;
			default : hswap(igraph,ma,mb,costa,nn,&cval,alist);
			}
		swapt += periodt();
		free(costa);
		sig = cval;
		sigx += sig;
		sigx2 += (sig * sig);
		if (cval < mincval)
			{
			bestt = ((clock() - startt)/CLK_TCK);
			mincval = cval;
		/*	check = (int *) calloc (nn + 1,sizeof(int));
			for(x = 1; x<= nn / 2; x++)
				{
				check[ma[x]]++;
				check[mb[x]]++;
				}
			for (x = 1; x<= nn; x++)
				printf("\ncheck %d:  %d",x,check[x]);
			printf("\n\n");
			free(check);    */
			}
		cval = 0;
		curtime = clock()/CLK_TCK;
		if (!oneflag && curtime >= run_time)
			{
			oneflag++;
			ttime = ((clock() - startt)/CLK_TCK);
			printf("%d\n",mincval);
			printf("%f\n",ttime);
			printf("%f\n",bestt);
			printf("%f\n",matcht);
			printf("%f\n",partt);
			printf("%f\n",swapt);
			printf("%lg\n",sigx);
			printf("%lg\n",sigx2);
			printf("%d\n",num_attemp);
			}
		}    /* while */
        ttime = ((clock() - startt)/CLK_TCK);
	printf("min cost = %d\n",mincval);
//	printf("%f\n",ttime);
//	printf("%f\n",bestt);
//	printf("%f\n",matcht);
//	printf("%f\n",partt);
//	printf("%f\n",swapt);
//	printf("%lg\n",sigx);
//	printf("%lg\n",sigx2);
	printf("number of attempts = %d\n",num_attemp);
	free (alist);
	if (big_flag) free(igraph);
	free (ma); free(mb);
	free (sindex);
	return EXIT_SUCCESS;
}