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

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

?? treeio.c

?? 簡單遺傳算法經典例子!! SGPC: Simple Genetic Programming in C by Walter Alden Tackett and Aviram Carmi
?? 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一区二区三区免费野_久草精品视频
久久成人av少妇免费| 国产精品网站在线观看| 日韩在线一区二区| 欧美日本免费一区二区三区| 亚洲gay无套男同| 欧美一区二区三区喷汁尤物| 蜜桃视频在线一区| 国产夜色精品一区二区av| 波多野结衣在线aⅴ中文字幕不卡| 日本一区二区动态图| 日本乱人伦一区| 日韩中文字幕1| 久久久久国产精品厨房| 97精品超碰一区二区三区| 亚洲综合免费观看高清在线观看| 欧美高清精品3d| 国产一区二区美女| 综合av第一页| 欧美一二三区在线观看| 国产凹凸在线观看一区二区| 一区二区三区在线免费观看| 欧美一级黄色录像| 成人av网站在线观看| 亚洲午夜在线视频| 久久色视频免费观看| 色域天天综合网| 欧美a级理论片| 国产精品久久久久精k8| 欧美精品1区2区3区| 成人av综合一区| 日韩黄色小视频| 国产精品久久一卡二卡| 3751色影院一区二区三区| 成人美女在线观看| 琪琪久久久久日韩精品| 成人免费在线视频观看| 欧美一卡二卡三卡| 91美女蜜桃在线| 国产精品亚洲一区二区三区妖精| 国产精品久久久一本精品| 欧美一区二区视频在线观看2022 | 国产自产2019最新不卡| 亚洲人123区| ww亚洲ww在线观看国产| 日本韩国欧美一区二区三区| 国产黑丝在线一区二区三区| 午夜久久久影院| 亚洲色图欧洲色图婷婷| 久久精品一区八戒影视| 日韩欧美一级二级三级| 欧美三级乱人伦电影| www..com久久爱| 狠狠色综合日日| 日韩国产欧美视频| 亚洲在线免费播放| 亚洲丝袜另类动漫二区| 国产亚洲一二三区| 欧美va天堂va视频va在线| 欧美系列日韩一区| 日本高清不卡aⅴ免费网站| 成人午夜电影小说| 国产精品小仙女| 国内精品视频一区二区三区八戒| gogo大胆日本视频一区| 色婷婷av久久久久久久| 国产成人精品综合在线观看| 婷婷久久综合九色国产成人| 亚洲精品乱码久久久久久久久 | 欧美久久婷婷综合色| 色妞www精品视频| 风间由美中文字幕在线看视频国产欧美| 五月天激情综合| 午夜精品在线看| 亚洲bt欧美bt精品| 亚洲国产综合在线| 午夜精品爽啪视频| 天天综合色天天综合| 亚洲v中文字幕| 亚洲mv在线观看| 亚洲成人www| 亚洲福利一区二区三区| 国产人成亚洲第一网站在线播放| 欧美喷水一区二区| 666欧美在线视频| 欧美放荡的少妇| 日韩一区二区精品| 日韩欧美国产综合一区| 亚洲精品乱码久久久久久日本蜜臀| 日韩久久一区二区| 一区二区久久久久| 午夜久久久影院| 麻豆91免费看| 国产一区二区久久| av电影在线观看一区| 欧美无人高清视频在线观看| 欧美日韩电影在线播放| 日韩欧美国产精品一区| 国产欧美日韩综合| ㊣最新国产の精品bt伙计久久| 亚洲精品日产精品乱码不卡| 亚洲成人av资源| 久久狠狠亚洲综合| 大桥未久av一区二区三区中文| av成人动漫在线观看| 欧美日本在线播放| 久久亚洲捆绑美女| 中文字幕一区二区三区蜜月| 亚洲成av人片在线观看| 免费成人av在线播放| 粉嫩aⅴ一区二区三区四区| 91高清在线观看| 精品久久久久久久久久久久包黑料 | 免费成人深夜小野草| 懂色av一区二区三区免费观看| 色素色在线综合| 日韩欧美亚洲国产另类| 国产精品国产三级国产普通话99 | 国产真实乱对白精彩久久| 成a人片亚洲日本久久| 欧美日韩国产美| 亚洲国产精品激情在线观看| 五月天精品一区二区三区| 成人小视频在线观看| 日韩网站在线看片你懂的| 国产精品久久久久久一区二区三区 | 中文字幕中文字幕一区二区| 五月综合激情日本mⅴ| 成人99免费视频| 日韩欧美aaaaaa| 亚洲一区在线看| 成人午夜av电影| 日韩美女天天操| 一区二区三区蜜桃| 国产盗摄一区二区三区| 欧美精品tushy高清| 亚洲色欲色欲www| 国产高清不卡一区二区| 91精品国产一区二区三区 | 欧美激情中文不卡| 久久精品国产亚洲高清剧情介绍| 欧美自拍偷拍午夜视频| 欧美精彩视频一区二区三区| 蜜臀精品久久久久久蜜臀| 欧美亚洲自拍偷拍| 亚洲人成小说网站色在线| 国产精品一区免费在线观看| 欧美一区二区在线播放| 亚洲午夜电影在线观看| 91麻豆国产自产在线观看| 国产精品免费久久| 国产91精品一区二区| 久久这里只精品最新地址| 日韩电影一二三区| 在线播放国产精品二区一二区四区| 日韩美女精品在线| 91丨九色丨国产丨porny| 中文av一区二区| 成人天堂资源www在线| 久久精品人人爽人人爽| 黄色资源网久久资源365| 日韩欧美一区二区久久婷婷| 爽爽淫人综合网网站| 精品视频一区 二区 三区| 亚洲自拍偷拍网站| 91成人免费电影| 亚洲国产精品久久人人爱蜜臀| 一本大道久久a久久综合| 亚洲欧洲制服丝袜| 91国偷自产一区二区三区观看| 亚洲免费资源在线播放| 91精品办公室少妇高潮对白| 亚洲综合视频在线观看| 欧美丝袜自拍制服另类| 亚洲午夜一区二区三区| 91麻豆精品国产91久久久 | 亚洲成人你懂的| 9191国产精品| 久久av老司机精品网站导航| 欧美成人精品高清在线播放| 国产一区二区三区四区五区美女 | 亚洲日本一区二区| 欧美亚洲禁片免费| 日日夜夜精品视频免费| 精品国产一区二区三区久久久蜜月| 麻豆久久久久久久| 国产欧美日韩在线| 91免费观看视频| 亚洲国产毛片aaaaa无费看| 日韩小视频在线观看专区| 国产麻豆精品视频| 国产精品国产a级| 精品视频999| 久久99精品久久久久婷婷| 国产性天天综合网| 色综合久久久久综合99| 婷婷综合另类小说色区| 欧美精品一区二区在线播放| 成人97人人超碰人人99| 天堂成人国产精品一区| 欧美国产一区在线|