⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ngen_setup.c

📁 su 的源代码库
💻 C
📖 第 1 页 / 共 2 页
字号:
                	Error(msg);		}		value="%8.3f";		repetition=genes;		for (j=0; j < repetition && i < genes; j++, i++)		{			fprintf(fp, "gene %d\n", i);			fprintf(fp, "min: %g\n", min);			fprintf(fp, "max: %g\n", max);			fprintf(fp, "values: %lu\n", values);			fprintf(fp, "format: %s\n", value);			fprintf(fp, "\n");			bitlength += ilog2(values);		}		fclose(fp);	}        *mmin = min;        *mmax = max;	if ((fp = fopen(infile, "w")) == NULL)	{		printf("can't open %s\n", infile);		printf("Setup aborted.\n");		exit(1);	}        if (!getparstring("verbose", &value))        {                value = "1";        }        if (!atoi(value))                *verbose = 0;        else                *verbose = 1;        setpar(fp, "Verbose", "1", value, verbose);	value = "1";	setpar(fp, "Experiments", "1", value, 0);	if (*verbose)	{		printf("File suffix [dga]: %s\n", suff);		printf("Minimum statics [?]: %6.2f\n", min0);		printf("Maximum statics [?]: %6.2f\n", max0);		printf("Number of bits (must be a power of 2) [64]: %lu\n", values);	}        /* get string interpretation */        if (!getparstring("sources", &value))        {                sprintf(msg, "Setup: Specify number of sources!");                Error(msg);        }        genes = atoi(value);        /* statics parameters */        setpar(fp, "Sources", "?", value, verbose);        if (!getparstring("receivers", &value))        {                sprintf(msg, "Setup: Specify number of receivers!");                Error(msg);        }        genes += atoi(value);        /* statics parameters */        setpar(fp, "Receivers", "?", value, verbose);        if (!getparstring("cmps", &value))        {                sprintf(msg, "Setup: Specify number of cmps!");                Error(msg);        }        genes = atoi(value);        /* statics parameters */        setpar(fp, "CMPs", "?", value, verbose);        if (!getparstring("maxfold", &value))        {                sprintf(msg, "Setup: Specify maximum fold of the data!");                Error(msg);        }        /* statics parameters */        setpar(fp, "Fold", "?", value, verbose);        if (!getparstring("maxlag", &value))        {		value = "160";        }        /* statics parameters */        setpar(fp, "Maxlag", "160", value, verbose);        if (!getparstring("dx", &value))        {                sprintf(msg, "Setup: Specify receiver spacing!");                Error(msg);        }        /* statics parameters */        setpar(fp, "Dx", "?", value, verbose);        if (!getparstring("evolutions", &value))        {		value = "20";        } 	setpar(fp, "Evolutions", "20", value, verbose);	*numevol = atoi(value);        if (!getparstring("iterations", &value))        {		value = "500";        }	setpar(fp, "Trials per Evolution", "500", value, verbose);        if (!getparstring("popsize", &value))        {		value = "50";        }	setpar(fp, "Subpopulation Size", "50", value, verbose);	*population = atoi(value);        if (!getparstring("populations", &value))        {		value = "2";        }	setpar(fp, "Number of populations", "2", value, verbose);	*ncities = atoi(value);	fprintf(fp, "%18s = %d\n", "Structure Length", bitlength);        if (!getparstring("crossprob", &value))        {		value = ".6";        }	setpar(fp, "Crossover probability", "0.6", value, verbose);        if (!getparstring("mutprob", &value))        {		value = ".001";        }	setpar(fp, "Mutation probability", "0.001", value, verbose);	value = "1.";	setpar(fp, "Generation Gap", "1.0", value, 0);	value = "5";	setpar(fp, "Scaling Window", "5", value, 0);	value = "100";	setpar(fp, "Report Interval", "100", value, 0);	value = "10";	setpar(fp, "Structures Saved", "10", value, 0);	value = "2";	setpar(fp, "Max Gens w/o Eval", "2", value, 0);	value = "0";	setpar(fp, "Dump Interval", "0", value, 0);	value = "0";	setpar(fp, "Dumps Saved", "0", value, 0);	value_temp = malloc(1);		/* used due a possible bug with char* */        if (!getparstring("rand", &value))        {		*seed = getpid();		sprintf(value_temp,"%d",*seed);   /* INTEGER -> CHARACTER */		value = value_temp;		setpar(fp, "Random Seed", "123456789", value, verbose);        }	else	{		setpar(fp, "Random Seed", "123456789", value, verbose);		*seed = atoi(value);	}	*random_gnr = 1;	value = ".5";	setpar(fp, "Rank Min", "0.5", value, 0);        if (!getparstring("uphill", &value))        {		value = "1";        }	setpar(fp, "CG Active", "1", value, verbose);        if (!getparstring("firstcg", &value))        {		value = "10";        }	setpar(fp, "Min Evol for CG", "10", value, verbose);        if (!getparstring("maxiteratcg", &value))        {		value = "20";        }        setpar(fp, "Max number of iter in CG", "20", value, verbose);        if (!getparint("maxevol", max_stat_evol))        {                *max_stat_evol = 2;        }	if (*verbose)        	printf("Max number of low variance evolutions [2]: %d\n", *max_stat_evol);        if (*verbose)                printf("Working directory [?]: %s\n", workdir);         if (!getparstring("datafile", &value))        {                sprintf(msg, "Setup: Specify data file name!");                Error(msg);        }        setpar(fp, "Datafile", "?", value, verbose);        if (!getparstring("xcorrfile", &value))        {                sprintf(msg, "Setup: Specify crosscorrelation file name!");                Error(msg);        }        setpar(fp, "Xcorrfile", "?", value, verbose);        fclose(fp);	*offset = 1.;	printf("\n");	/*sprintf(cmd, "cat %s", infile);	system(cmd);*/}int ilog2(n)	unsigned long n;{	int i;	if (n <= 0)	{		printf("Help! values is %d, must be positive!\n", n);		abort();	}	 	i = 0;	while ((int) (n & 1) == 0)	{		n >>= 1;		i++;	}	return(i);}setpar(fp, prompt, defaultstring, s, show)	FILE *fp;	char *prompt;	char *defaultstring;	char s[80];	int *show;{	if (*show)		printf("%s [%s]: %s\n", prompt, defaultstring,s);	if (strlen(s) == 0)		strcpy(s, defaultstring);	fprintf(fp, "%18s = %s\n", prompt, s);}getstring(s)char s[];{	gets(s);}/*** end of file ***/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -