Пример #1
0
void WINAPI SVMlibParse(int* argc,char **argv,HostData *actHost) {
    char *Port=0,*Display=0;
    ConfContext *Context=0;
    
    if(!actHost->ProcData || !actHost->ProcData->Context) {
	Context = (ConfContext*)EProcs.GetContext(actHost,sizeof(ConfContext));
	initContext(Context);
    } else Context = (ConfContext*)actHost->ProcData->Context;

    Context->StartServer = IsArgPresent(argc,argv,"-mpe");

    if(Context->StartServer) {
 	DWORD size = 256;
	GetComputerName(Context->Display,&size);
    }

    if(IsArgPresent(argc,argv,"-alog"))
	Context->LogFormat = 2;

    if(IsArgPresent(argc,argv,"-clog"))
	Context->LogFormat = 1;

    if(IsArgPresent(argc,argv,"-slog"))
	Context->LogFormat = 0;

    GetStringArg(argc,argv,"-display",&Display);
    GetStringArg(argc,argv,"-port",&Port);
    
    if(Port)
	strcpy(Context->Port,Port);

    if(Display)
	strcpy(Context->Display,Display);
}
Пример #2
0
int GetWinspecs(int *argc, char **argv, Winspecs *winspecs)
{
	int myid;
	
	MPI_Comm_rank(MPI_COMM_WORLD, &myid);
	
	if (!myid) 
	{
		GetIntArg(argc, argv, "-height", &(winspecs->height));
		GetIntArg(argc, argv, "-width",  &(winspecs->width));
		winspecs->bw = IsArgPresent(argc, argv, "-bw");
		GetIntArg(argc, argv, "-xpos", &(winspecs->xpos));
		GetIntArg(argc, argv, "-ypos", &(winspecs->ypos));
		GetIntArg(argc, argv, "-colors", &(winspecs->numColors));
	}
	
	MPI_Bcast(winspecs, 1, winspecs_type, 0, MPI_COMM_WORLD);
	return 0;
}
Пример #3
0
int GetFlags(int *argc, char **argv, Winspecs *winspecs, Flags *flags)
{
	double x, y;
	int myid, strLens[3];
	
	MPI_Comm_rank(MPI_COMM_WORLD, &myid);
	
	if (myid == 0) 
	{
		GetStringArg(argc, argv, "-l", &(flags->logfile));
		GetStringArg(argc, argv, "-i", &(flags->inf));
		/* if reading from input file, disable zooming */
		if (flags->inf) 
		{
			flags->zoom = 0;
		}
		GetStringArg(argc, argv, "-o", &(flags->outf));
		GetIntArg(argc, argv, "-breakout", &(flags->breakout));
		if (IsArgPresent(argc, argv, "-randomize")) 
		{
			flags->randomize = 0;
		}
		if (IsArgPresent(argc, argv, "+randomize")) 
		{
			flags->randomize = 1;
		}
		GetIntArg(argc, argv, "-colreduce", &(flags->colReduceFactor));
		flags->loop = IsArgPresent(argc, argv, "-loop");
		if (IsArgPresent(argc, argv, "-zoom")) 
		{
			flags->zoom = 0;
		}
		if (IsArgPresent(argc, argv, "+zoom") && !flags->inf) 
		{
			flags->zoom = 1;
		}
		flags->askNeighbor = IsArgPresent(argc, argv, "-neighbor");
		flags->sendMasterComplexity = IsArgPresent(argc, argv, "-complexity");
		flags->drawBlockRegion = IsArgPresent(argc, argv, "-delaydraw");
		
		if (IsArgPresent(argc, argv, "-mandel")) 
		{
			flags->fractal = MBROT;
		} 
		else if (IsArgPresent(argc, argv, "-julia")) 
		{
			flags->fractal = JULIA;
		} 
		else if (IsArgPresent(argc, argv, "-newton")) 
		{
			flags->fractal = NEWTON;
		}
		
		GetIntArg(argc, argv, "-maxiter", &(flags->maxiter));
		if (GetDoubleArg(argc, argv, "-boundary", &x)) 
		{
			flags->boundary_sq = x * x;
		}
		GetDoubleArg(argc, argv, "-epsilon", &(flags->epsilon));
		if (GetDoubleArg(argc, argv, "-rmin", &x)) 
		{
			NUM_ASSIGN(flags->rmin, DBL2NUM(x));
		}
		if (GetDoubleArg(argc, argv, "-rmax", &x)) 
		{
			NUM_ASSIGN(flags->rmax, DBL2NUM(x));
		}
		
		if (GetDoubleArg(argc, argv, "-imin", &x)) 
		{
			NUM_ASSIGN(flags->imin, DBL2NUM(x));
		}
		if (GetDoubleArg(argc, argv, "-imax", &x)) 
		{
			NUM_ASSIGN(flags->imax, DBL2NUM(x));
		}
		if (GetDoubleArg(argc, argv, "-radius", &x)) 
		{
			if (GetDoubleArg(argc, argv, "-rcenter", &y)) 
			{
				NUM_ASSIGN(flags->rmin, DBL2NUM(y-x));
				NUM_ASSIGN(flags->rmax, DBL2NUM(y + x));
			}
			if (GetDoubleArg(argc, argv, "-icenter", &y)) 
			{
				NUM_ASSIGN(flags->imin, DBL2NUM(y-x));
				NUM_ASSIGN(flags->imax, DBL2NUM(y + x));
			}
		}
		strLens[0] = (flags->logfile) ? strlen(flags->logfile) + 1 : 0;
		strLens[1] = (flags->inf)     ? strlen(flags->inf) + 1     : 0;
		strLens[2] = (flags->outf)    ? strlen(flags->outf) + 1    : 0;
	} /* End of myid == 0 */
	
	MPI_Bcast(flags, 1, flags_type, 0, MPI_COMM_WORLD);
	
	MPI_Bcast(strLens, 3, MPI_INT, 0, MPI_COMM_WORLD);
	
	if (myid != 0) 
	{
		flags->logfile = (strLens[0]) ?
			(char *)malloc(strLens[0] * sizeof(char)) : 0;
		flags->inf = (strLens[1]) ?
			(char *)malloc(strLens[1] * sizeof(char)) : 0;
		flags->outf = (strLens[2]) ?
			(char *)malloc(strLens[2] * sizeof(char)) : 0;
	}
	if (strLens[0]) 
		MPI_Bcast(flags->logfile, strLens[0], MPI_CHAR, 0, MPI_COMM_WORLD);
	if (strLens[1]) 
		MPI_Bcast(flags->inf,     strLens[1], MPI_CHAR, 0, MPI_COMM_WORLD);
	if (strLens[2]) 
		MPI_Bcast(flags->outf,    strLens[2], MPI_CHAR, 0, MPI_COMM_WORLD);
	
	return 0;
}