亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? treeio.c

?? 遺傳算法工具
?? C
字號:
/*
SGPC: Simple Genetic Programming in C
(c) 1993 by Walter Alden Tackett and Aviram Carmi
 
 This code and documentation is copyrighted and is not in the public domain.
 All rights reserved. 
 
 - This notice may not be removed or altered.
 
 - You may not try to make money by distributing the package or by using the
   process that the code creates.
 
 - You may not distribute modified versions without clearly documenting your
   changes and notifying the principal author.
 
 - The origin of this software must not be misrepresented, either by
   explicit claim or by omission.  Since few users ever read sources,
   credits must appear in the documentation.
 
 - Altered versions must be plainly marked as such, and must not be
   misrepresented as being the original software.  Since few users ever read
   sources, credits must appear in the documentation.
 
 - The authors are not responsible for the consequences of use of this 
   software, no matter how awful, even if they arise from flaws in it.
 
If you make changes to the code, or have suggestions for changes,
let us know!  (gpc@ipld01.hac.com)
*/

#ifndef lint
static char treeio_c_rcsid[]="$Id: treeio.c,v 2.6 1993/04/22 07:39:12 gpc-avc Exp gpc-avc $";
#endif

/*
 *
 * $Log: treeio.c,v $
 * Revision 2.6  1993/04/22  07:39:12  gpc-avc
 * Removed old log messages
 *
 * Revision 2.5  1993/04/14  04:40:17  gpc-avc
 * Added pop[p].format instead of pop[p].terminal_table[pop[p].terminal_table_size].printname
 * to store the formatting string
 *
 *
 */

#include <stdio.h>
#include <malloc.h>
#include <errno.h>
#include "gpc.h"



#ifdef ANSI_FUNC

int read_terminal_set_values(
  pop_struct 	*pop,
  int 		p,
  FILE 		*f
  )
#else

int read_terminal_set_values(pop,p,f)
  pop_struct	*pop;
  int		p;
  FILE		*f;
#endif
{
  int	i;

  for (i=0; i<pop[p].terminal_table_size; i++) {
    if (fscanf(f,pop[p].format, &(pop[p].terminal_table[i].val)) == EOF) 
      return EOF;
  }
  return 1;
}

#ifdef ANSI_FUNC

VOID load_terminal_set_values(
  pop_struct	*pop,
  int 		p,
  GENERIC 	*v
)
#else

VOID load_terminal_set_values(pop,p,v)
  pop_struct	*pop;
  int		p;
  GENERIC 	*v;
#endif
{
  int	i;

  for (i=0; i<pop[p].terminal_table_size; i++) {
    pop[p].terminal_table[i].val = v[i];
  }
}

#define TRACE 0
#ifdef ANSI_FUNC

tree *read_tree(
  pop_struct 	*pop,
  int 		p,
  FILE 		*f
  )
#else

tree *read_tree(pop,p,f)
  pop_struct 	*pop;
  int		p;
  FILE		*f;
#endif
{
  int	i;
  tree 	*t;
  char	buf[80];
  
  if (fscanf(f,"%1s",buf) == EOF) return (tree *) EOF;
  if (buf[0] == '(') {

    if (TRACE) printf("(");

    fscanf(f,"%1s", buf);
    ungetc(buf[0],f);
    get_next_token(buf, f);

    if (TRACE) printf("%s ",buf);

    t = create_tree_node(p,FUNCTION, lookup_function_name(pop,p,buf));
    for (i=0; i < function_arity(t); i++) {
      t->type.func->arg[i] = read_tree(pop,p,f);
    }

    fscanf(f,")");
    if (TRACE) printf(")\n");

  } else {
    ungetc(buf[0], f);
    get_next_token(buf, f);

    if (TRACE) printf("%s ",buf);

    t = create_tree_node(p,TERMINAL, lookup_terminal_name(pop,p,buf));
    if (terminal_is_constant(t)) {
      sscanf(buf, pop[p].format, (t->type.term->valptr));
    }
  }
  return(t);
}

#ifdef ANSI_FUNC

VOID write_tree(
  pop_struct	*pop,
  tree 		*t,
  char		*format,
  FILE 		*f
  )
#else

VOID write_tree(pop, t, format, f)
  pop_struct 	*pop;
  tree		*t;
  char		*format;
  FILE		*f;
#endif
{
  pprint_tree(pop, t, format, f, 0);
}

#ifdef ANSI_FUNC

VOID pprint_tree(
  pop_struct	*pop,
  tree 		*t,
  char		*format,
  FILE 		*f,
  int 		level
  )
#else

VOID pprint_tree(pop, t, format, f, level)
  pop_struct 	*pop;
  tree		*t;
  char		*format;
  FILE		*f;
  int		level;
#endif
{
  int	i;
    
  blanks(level,f);
  if (t->nodetype == FUNCTION) {
    fprintf(f,"(%s\n",function_printname(t));
    for (i=0; i<function_arity(t); i++) {
      pprint_tree(pop, t->type.func->arg[i], format, f, level+INDENT);
      if (i == (function_arity(t)-1))
	fprintf(f,")");  
      else 
	fprintf(f,"\n");
    }
  } else if (t->nodetype == TERMINAL) {
    if (t->id == pop[t->pop].terminal_table_size) { /* a constant */
      fprintf(f, format, *(t->type.term->valptr));
    } else {
      fprintf(f,"%s",terminal_printname(t));
    }
  } else {
    fprintf(stderr,
	    "nodetype %d must be %d or %d in pprint_tree() <treeio.c>\n",
	    t->nodetype, FUNCTION, TERMINAL);
  }
  if (!level) fprintf(f,"\n");
}

#ifdef ANSI_FUNC

int lookup_function_name(
  pop_struct 	*pop,
  int 		p,
  char 		*buf
  )
#else

int lookup_function_name(pop,p,buf)
  pop_struct	*pop;
  int		p;
  char		*buf;
#endif
{
  int	i;

  for (i=0; i<pop[p].function_table_size; i++) {
    if (!strcasecmp(buf, pop[p].function_table[i].printname)) {
      return(i);
    }
  }

  fprintf(stderr,"%s not found in function_table[%d]\n",buf,p);
  exit(1);
  return(-1); /* make lint happy */
}

#ifdef ANSI_FUNC

int lookup_terminal_name(
  pop_struct	*pop,
  int 		p,
  char 		*buf
  )
#else

int lookup_terminal_name(pop,p,buf)
  pop_struct 	*pop;
  int		p;
  char		*buf;
#endif
{
  int	i;

  for (i=0; i<pop[p].terminal_table_size; i++) {
    if (!strcasecmp(buf, pop[p].terminal_table[i].printname)) {
      return(i);
    }
  }
  /* Assume that buf is a constant value */
  return(pop[p].terminal_table_size);
}

#ifdef ANSI_FUNC

VOID get_next_token(
	char *buf,
	FILE *f
	)
#else

VOID get_next_token(buf,f)
  char 	*buf;
  FILE	*f;
#endif
{
  int	ibuf;
  int	i = 0;

  while ((ibuf = getc(f)) != EOF) {
    if (isspace((char) ibuf)) {
      buf[i] = '\0';
      break;
    } else if (((char) ibuf) == ')') {
      ungetc((char) ibuf, f);      
      buf[i] = '\0';
      break;
    } else {
      buf[i++] = (char) ibuf;
    }
  }
}

#ifdef ANSI_FUNC

VOID blanks(
	int n,
	FILE *f
	)
#else

VOID blanks(n,f)
  int	n;
  FILE	*f;
#endif
{
  int	i;

  for (i=0; i<n; i++) fprintf(f," ");
}

 == ')') {
      ungetc((char) ibuf, f);      
      buf[i] = '\0';
      break;
    } else {
      buf[i++] = (char) ibuf;
    }
  }
}

#ifdef ANSI_FUNC

VOID blanks(
	int n,
	FILE *f
	)
#else

VOID blanks(n,f)
  int	n;
  FILE	*f;
#endif
{
  int	i;

  for (i=0; i<n; i++) fprintf(f," ");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一色桃子久久精品亚洲| 激情综合色播激情啊| 男人的j进女人的j一区| 成人看片黄a免费看在线| 欧美日韩视频在线一区二区| 精品免费日韩av| 亚洲综合一区在线| 国产乱人伦偷精品视频免下载| 色呦呦一区二区三区| 久久综合久久综合九色| 亚洲成人一区在线| 色呦呦日韩精品| 国产精品久久三| 国产成人亚洲综合色影视| 4438成人网| 亚洲一区在线视频观看| www.日本不卡| 国产精品系列在线| 国内精品免费**视频| 欧美成人性战久久| 日本欧美在线看| 欧美日韩美女一区二区| 亚洲精品日日夜夜| 色婷婷精品久久二区二区蜜臂av | 日本亚洲视频在线| 在线亚洲+欧美+日本专区| 国产精品嫩草影院com| 国产一区二区三区观看| 337p日本欧洲亚洲大胆色噜噜| 首页国产欧美久久| 欧美精品一二三区| 日韩电影在线免费观看| 欧美老女人在线| 日韩精品一二三四| 在线91免费看| 麻豆成人免费电影| 欧美成人vr18sexvr| 另类小说视频一区二区| 2024国产精品视频| 国产成人在线看| 国产精品午夜久久| 91女厕偷拍女厕偷拍高清| 国产精品久久久一本精品| 99re8在线精品视频免费播放| 中文字幕av一区二区三区免费看| 国产91精品一区二区麻豆网站 | 宅男在线国产精品| 免费人成在线不卡| 久久你懂得1024| 99免费精品在线观看| 亚洲综合在线五月| 欧美精品久久一区二区三区| 青娱乐精品视频| 国产午夜亚洲精品理论片色戒 | 国产精品123| 国产亚洲精品aa午夜观看| 成人午夜免费电影| 亚洲自拍与偷拍| 欧美一区二区成人6969| 国产91精品精华液一区二区三区| 综合久久给合久久狠狠狠97色| 日本韩国精品在线| 秋霞成人午夜伦在线观看| 国产色爱av资源综合区| 在线看国产日韩| 精品一区二区三区在线播放| 国产精品丝袜黑色高跟| 欧美三日本三级三级在线播放| 麻豆成人免费电影| 亚洲另类中文字| 欧美精品一区二区三| 日本道精品一区二区三区 | 亚洲综合色丁香婷婷六月图片| 91.xcao| 丰满少妇在线播放bd日韩电影| 亚洲综合成人在线视频| 久久人人爽人人爽| 欧美日韩视频在线观看一区二区三区 | 欧美精品日韩精品| 成人一区在线看| 日韩成人午夜电影| 成人欧美一区二区三区1314| 欧美一级爆毛片| 日本高清免费不卡视频| 成人午夜视频福利| 精品亚洲porn| 午夜精品福利一区二区三区蜜桃| 国产欧美久久久精品影院| 欧美一区二区成人| 欧美性猛片aaaaaaa做受| 成人动漫中文字幕| 韩国在线一区二区| 日韩电影在线免费观看| 亚洲一级片在线观看| 亚洲欧洲一区二区三区| 久久久久久**毛片大全| 51午夜精品国产| 欧美在线三级电影| 99re热这里只有精品免费视频| 国产精品自在在线| 免费观看91视频大全| 亚洲大片在线观看| 亚洲午夜电影网| 亚洲人成影院在线观看| 国产精品久久夜| 国产精品久久久久久亚洲毛片| 欧美电影精品一区二区 | 91女神在线视频| 成人精品视频一区二区三区尤物| 久久99深爱久久99精品| 麻豆一区二区在线| 日韩经典一区二区| 七七婷婷婷婷精品国产| 日韩电影在线观看电影| 奇米777欧美一区二区| 蜜桃av一区二区三区电影| 免费久久精品视频| 麻豆精品久久久| 麻豆国产欧美日韩综合精品二区| 奇米精品一区二区三区四区 | zzijzzij亚洲日本少妇熟睡| 国产aⅴ精品一区二区三区色成熟| 极品美女销魂一区二区三区免费| 蓝色福利精品导航| 蜜桃一区二区三区在线观看| 精品一区二区影视| 国产成人午夜电影网| 成人性生交大合| 色综合天天性综合| 欧美日韩一级二级三级| 欧美一区二区三区电影| 欧美大片在线观看一区| 国产午夜精品在线观看| 最新国产成人在线观看| 亚洲综合久久久久| 毛片av中文字幕一区二区| 国产成人免费视频一区| 色偷偷久久人人79超碰人人澡| 欧美性生交片4| 精品噜噜噜噜久久久久久久久试看| 精品99999| 亚洲欧美日韩人成在线播放| 午夜精品久久久久久久蜜桃app| 蜜桃视频一区二区三区在线观看| 国产69精品久久99不卡| 色狠狠一区二区三区香蕉| 91麻豆精品国产91久久久久| 久久品道一品道久久精品| 中文字幕中文字幕在线一区| 午夜激情久久久| 国产精品一区二区久久不卡| 92精品国产成人观看免费 | 欧美羞羞免费网站| 欧美va亚洲va香蕉在线| 国产精品私人自拍| 午夜久久久久久久久| 国产成人在线看| 色婷婷激情综合| 亚洲精品一区在线观看| 一区二区三区成人| 韩国女主播成人在线观看| 色域天天综合网| 26uuu色噜噜精品一区| 《视频一区视频二区| 蜜桃久久久久久| 欧美中文字幕一区二区三区亚洲| 久久久久久久综合狠狠综合| 一级日本不卡的影视| 国产不卡视频一区| 日韩视频在线一区二区| 一区二区久久久久| 成人性视频网站| 日韩一区国产二区欧美三区| 亚洲欧美激情视频在线观看一区二区三区| 蜜臂av日日欢夜夜爽一区| 在线观看日韩高清av| 国产精品乱码人人做人人爱| 六月婷婷色综合| 欧美一卡2卡3卡4卡| 亚洲大片在线观看| 91久久一区二区| 中文字幕在线一区免费| 国产成人av影院| 欧美精品一区男女天堂| 免费看欧美美女黄的网站| 欧美高清性hdvideosex| 亚洲一区二区不卡免费| 在线观看国产精品网站| 亚洲欧美日韩国产手机在线| www.视频一区| 国产精品伦一区二区三级视频| 懂色av中文一区二区三区| 久久精品视频在线看| 国产一区二区三区美女| 国产欧美精品区一区二区三区 | 一区二区久久久| 国产老肥熟一区二区三区| 日韩欧美国产综合一区| 亚洲成人7777| 丰满放荡岳乱妇91ww|