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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pddl.c

?? intel ipp4.1性能庫的一些例子。
?? C
?? 第 1 頁 / 共 4 頁
字號(hào):
/********************************************************************* * File: pddl.c * Description: Functions for the pddl dependend part of *              the parser and the preprocessing. * * Authors: Frank Rittinger, Andreas Schoen 1998 * *********************************************************************/ /********************************************************************* * (C) Copyright 1998 Albert Ludwigs University Freiburg *     Institute of Computer Science * * All rights reserved. Use of this software is permitted for  * non-commercial research purposes, and it may be copied only  * for that use.  All copies must include this copyright message. * This software is made available AS IS, and neither the authors * nor the  Albert Ludwigs University Freiburg make any warranty * about the software or its performance.  *********************************************************************//********************************************************************* * INTRODUCTION TO THIS FILE * * All(?) functions are programmed recursively and not dynamically  * but this should not affect the efficiency, as these functions are called * only once in the beginning, and in most domains the recusion  * depth is not high. * Exceptions are dnf and their dependent(?help/sub-) functions * distribute_and_ors and append_following. They might be called often * during the instantiation *  * All function, that have pl-nodes as both input and output  * keep the input node fixed!  (for convenience in the calling function) * * All functions assume they are allowed to free nodes the plnode tree doesn't  *   need anymore.  *    * * i_pl,j_pl,k_pl,l_pl always are Laufvars(?l) *********************************************************************//********************************************************************* * * Dependencies of functions: * (1) * pddl(16)-+----->rename_all_quantifiers*(13)----->rename_quantifier*(14) * (2)      | *          +----->axioms_to_operators->... * (3)      |                                                          *          +-->ands_to_top*(3)--->combine_whens*(2)-->contains_when*(1) *          |      |                     |   ^            ^                  *          |      |                     v   |            | *          |      |         distribute_whens,2nd branch--+ *          |      v     *          | distribute_whens,1st branch ;distribute_unary;combine_ands *          |                                                          * (4)      |                                                          *          |                                                          *          |                                                          *          +-------+->nots_down_qunatifiers_up*(11)<----+ *          |       |                            |              *          |       +-->nots_down(10)------------+ *          |       |       v                    |              *          |       |     distibute_unary        |              *          |       |                            |              *          |       +->all_the quantifiers_up(9)-+ *          |                                    |             *                                               v             *                                    move_quantifier(8) * (5) ,trafo (6)                                                 * pddl_inner(16)----->dnf*(6)<->distribute_and_ors(5) *                         |      |               |            *                         |      v               v   *                         +-combine_ands     append_following(5)           * (7) * * fn_name*(position in file) ,* means function calls itself * * * * Used basic functions: * * distribute_unary(6) * combine_ands(12) *  *********************************************************************/#include "ipp.h"#include "pddl.h"#include "memory.h"#include "utilities.h"#include "output.h"#define LOG_Q_NUMBER 8  /* so there can be 10^(6-3)=1000 quantifiers */		/* #include "/home/keim/pur4.1/purify-4.1-solaris2/purify.h" *//* Laufv?l for number of quantifiers, needed for quantifier renaming */static int snr_quantifiers;int dep=0;/*  void copy_contents_of_CodeNode( CodeNode **dest, CodeNode *source ); *//* in instantiate.c */void begin_of_function_pl ( char * name , PlNode * plnode){  if (0 && gcmd_line.display_info>=20)    {       dep++;      /* if (purify_new_leaks()) *//* 	    { *//* 	      printf("New leaks\n"); *//* 	    }  *//*       else  *//* 	{ *//* 	  printf("No New leaks\n"); *//* 	} */      printf("\n%u%s\n",dep,name);      print_plnode( plnode ,0);    }}void end_of_function_pl ( char * name , PlNode * plnode){  if (0 && gcmd_line.display_info>=20)    {       /* if (purify_new_leaks()) *//* 	    { *//* 	      printf("New leaks\n"); *//* 	    }  *//*       else  *//* 	{ *//* 	  printf("No New leaks\n"); *//* 	} */      printf("\n%uEnd %s\n",dep,name);      print_plnode( plnode ,0);      dep--;    }}void begin_of_function_code ( char * name , CodeNode * codenode){  if (0 && gcmd_line.display_info>=20)    {       dep++;      /* if (purify_new_leaks()) *//* 	    { *//* 	      printf("New leaks\n"); *//* 	    }  *//*       else  *//* 	{ *//* 	  printf("No New leaks\n"); *//* 	} */      printf("\n%u%s\n",dep,name);      print_CodeNode( codenode ,0);    }}void end_of_function_code ( char * name , CodeNode * codenode){  if (0 && gcmd_line.display_info>=20)    {       /* if (purify_new_leaks()) *//* 	    { *//* 	      printf("New leaks\n"); *//* 	    }  *//*       else  *//* 	{ *//* 	  printf("No New leaks\n"); *//* 	} */      printf("\n%uEnd %s\n",dep,name);      print_CodeNode( codenode ,0);      dep--;    }}/******************** quantifiers_renaming  ***************************//********************************************************************* * INPUT  plnode: any pl-tree * OUTPUT plnode: equivalent tree with all the quantified variables renamed  * to ??x , x being a counter * USING   *********************************************************************/voidrename_all_quantifiers(PlNode * plnode){  Bool contained;  PlNode * i_pl;  begin_of_function_pl("Rename_all_quantifiers",plnode);  switch (plnode->connective)    {        case EX:    case ALL:      rename_all_quantifiers(plnode->sons);      contained=	rename_quantifier(plnode,plnode->atom->item,FALSE);      snr_quantifiers++;      if (!contained)	{	  printf("Quantor wegschmeissen noch nicht implementiert.");	}      break;    case AND:    case OR:    case WHEN:      {	i_pl=plnode->sons;    	while (i_pl!=NULL)	  {	    rename_all_quantifiers(i_pl);	    i_pl=i_pl->next;	  }      }      break;    case NOT:      rename_all_quantifiers(plnode->sons);    case ATOM:    case TRU:      break;    default:      spec_error("Rename_all_quantifiers");    }  end_of_function_pl("Rename_all_quantifiers",plnode);}/********************************************************************* * This function renames all occurences of the variable token to *  ??x, where x is the current value of the static counter snr_quantifiers * INPUT  plnode: pl-tree *        token: the name of the variable to be renamed *        cont:TRUE if the variable occurred so far  *                 (just for stupid domain definitions) * OUTPUT Bool: TRUE if the variable occurred so far or now * USING   *********************************************************************/Boolrename_quantifier(PlNode * plnode,char * token,Bool cont){  PlNode * i_pl;  TokenList * i_tl;  char * i_token;  begin_of_function_pl("Rename_quantifier",plnode);  i_token=new_token(strlen(token)+1);  strcpy(i_token,token);  switch (plnode->connective)    {    case ALL:    case EX:      if (SAME==strcmp(plnode->atom->item,i_token))	{	  free(plnode->atom->item);	  plnode->atom->item = new_token(LOG_Q_NUMBER);	  sprintf(plnode->atom->item,"??%d",snr_quantifiers);	  cont=TRUE;	}      cont=rename_quantifier(plnode->sons,i_token,cont);      break;    case NOT:      cont=rename_quantifier(plnode->sons,i_token,cont);      break;    case AND:    case OR:    case WHEN:      i_pl=plnode->sons;          while (i_pl!=NULL)	{	  cont|=rename_quantifier(i_pl,i_token,cont);	  i_pl=i_pl->next;	}      break;    case TRU:      break;    case ATOM:      i_tl=plnode->atom;      while (i_tl!=NULL)	{	  if (SAME==strcmp(i_tl->item,i_token))	    {	      free(i_tl->item);	      i_tl->item = new_token(LOG_Q_NUMBER);	      sprintf(i_tl->item,"??%d",snr_quantifiers);	      cont=TRUE;	    }	  i_tl=i_tl->next;	}      break;    default:      spec_error("Rename_quantifier");    }  free(i_token);  end_of_function_pl("Rename_quantifier",plnode);  return cont;}/******************** pddl_outer ***************************//********************************************************************* * INPUT  plnode: AND or OR node  * OUTPUT plnode: (same) AND/OR node with all nodes with the same connective  *   directly below combined to one single AND node * USING   *********************************************************************/voidcombine_ands_pl ( PlNode * plnode ){  PlNode * i_pl,*j_pl,*this_pl;  Connective con=plnode->connective;    begin_of_function_pl("Combine ands",plnode);  if (plnode->connective!=AND && plnode->connective!=OR)     {      spec_error("Combine ands");    }  i_pl=new_pl_node(DUMMY);  this_pl=plnode->sons;  i_pl->next=this_pl;  plnode->sons=i_pl;  while (this_pl !=NULL)    {      if (this_pl->connective==con)	{	  combine_ands_pl(this_pl);	  i_pl->next=this_pl->sons;	  j_pl=this_pl->next;	  free(this_pl);	  this_pl=j_pl;	  while (NULL!=i_pl->next)	    {	      i_pl=i_pl->next;	    }	}      else /*  !=AND  while  */	{	  i_pl->next=this_pl;	  i_pl=this_pl;	  this_pl=this_pl->next;	}    } /*  while  */  i_pl=plnode->sons->next;  free(plnode->sons);/* DUMMY */  plnode->sons=i_pl;  end_of_function_pl("Combine ands",plnode);} /********************************************************************* * INPUT  plnode: pl-tree * OUTPUT Bool: true iff the tree below (including plnode) contains a when node * USING   *********************************************************************/Bool contains_when ( PlNode * plnode ){  PlNode * i_pl;    switch (plnode->connective)    {    case AND:      for (i_pl=plnode->sons;i_pl!=NULL;i_pl=i_pl->next)	{	  if (contains_when(i_pl))	    {	      return TRUE;	    }	}      return FALSE;    case ALL:      return contains_when(plnode->sons);    case WHEN:      return TRUE;    case NOT:      return FALSE;    case ATOM:      return FALSE;    default:      spec_error("Contains_when");      return TRUE;    }  }/********************************************************************* * INPUT  plnode: WHEN node with another when node below * OUTPUT plnode: a logically equivalent tree without exactly one WHEN node * USING   *********************************************************************/voidcombine_whens ( PlNode * plnode ){  PlNode * new_pl;  PlNode * son=plnode->sons->next; /* effect */  begin_of_function_pl("Combine_whens",plnode);  switch (son->connective)    {    case AND:      distribute_when(plnode,FALSE);      break;    case ALL:      /* puts quantifier above when node */      plnode->sons->next=son->sons;      plnode->atom=son->atom;      son->atom=NULL;      son->sons=plnode->sons;      son->connective=WHEN;      plnode->connective=ALL;      plnode->sons=son;      combine_whens(son);      break;    case WHEN:      if (contains_when(son->sons->next))	{	  combine_whens(son);	}      if (WHEN==son->connective)  /* melts directly following whens */	{	  if (TRU==son->sons->connective)	    {	      plnode->sons->next=son->sons->next;	      free(son->sons);	      free(son);	    }	  else	    {	      new_pl=new_pl_node(AND);	      new_pl->sons=plnode->sons;	      new_pl->sons->next=son->sons;	      new_pl->next=son ->sons->next;	      free(son);	      plnode->sons=new_pl;	      new_pl->sons->next->next=NULL;	    }	}      else	{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品视频一区| 综合久久久久久| 久久草av在线| 2017欧美狠狠色| 国产成人综合网站| 一区二区三区色| 91麻豆精品国产91久久久久久久久 | 中文字幕免费一区| 成人成人成人在线视频| 亚洲欧美日韩国产一区二区三区 | 欧美视频完全免费看| 偷拍一区二区三区四区| 精品国免费一区二区三区| 国产成人精品一区二区三区四区| 中文字幕va一区二区三区| 色综合久久综合| 毛片一区二区三区| 国产精品美女www爽爽爽| 欧美在线免费播放| 激情综合色综合久久综合| 国产精品乱人伦中文| 欧美视频日韩视频在线观看| 毛片基地黄久久久久久天堂| 中文一区一区三区高中清不卡| 一本大道久久a久久综合婷婷| 亚洲国产成人高清精品| 26uuu久久天堂性欧美| 91视频.com| 日本不卡中文字幕| 国产精品免费网站在线观看| 7777精品伊人久久久大香线蕉 | 亚洲精品免费看| 精品久久久久久久人人人人传媒 | 丝袜诱惑制服诱惑色一区在线观看 | 91精品国产手机| 成人免费观看av| 七七婷婷婷婷精品国产| 亚洲欧洲在线观看av| 欧美一卡二卡三卡四卡| 99视频一区二区| 老司机午夜精品| 亚洲免费观看高清| 欧美国产一区在线| 精品国产乱码久久久久久浪潮| 极品少妇一区二区| 国产精品免费网站在线观看| 精品国产乱码久久久久久浪潮 | 国产99精品视频| 蜜臀久久99精品久久久久宅男| 日韩毛片高清在线播放| 国产亚洲欧美一区在线观看| 欧美一区二区三区视频在线| 在线观看亚洲精品| 99精品视频在线播放观看| 国产乱国产乱300精品| 日韩—二三区免费观看av| 艳妇臀荡乳欲伦亚洲一区| 亚洲国产精品黑人久久久| 日韩欧美一区二区视频| 欧美视频在线一区| 色偷偷88欧美精品久久久| www.久久久久久久久| 国产精品主播直播| 久久精品免费观看| 美腿丝袜亚洲综合| 免费看欧美女人艹b| 亚洲国产精品一区二区久久恐怖片| 国产精品久久久久久久久快鸭| 精品日韩一区二区三区免费视频| 欧美精品一二三| 欧美日韩精品一二三区| 欧美性一区二区| 欧美三级在线视频| 欧美日韩一区成人| 欧美日韩免费一区二区三区| 欧美亚洲国产怡红院影院| 欧美色倩网站大全免费| 欧美色窝79yyyycom| 欧美日韩一区二区三区在线看| 欧美视频在线不卡| 欧美日精品一区视频| 欧美日韩高清一区二区不卡| 欧美日韩精品一区二区在线播放| 欧美精品国产精品| 日韩一区二区免费视频| 精品久久一二三区| 日本一区二区三区视频视频| 综合亚洲深深色噜噜狠狠网站| 亚洲精品欧美在线| 亚洲成av人片观看| 蜜桃91丨九色丨蝌蚪91桃色| 国产乱国产乱300精品| 成人18精品视频| 欧美网站大全在线观看| 日韩一级片网站| 久久久久久久久99精品| 亚洲欧美在线高清| 亚洲第一av色| 激情综合网av| 99久久精品免费看国产免费软件| 在线观看网站黄不卡| 欧美成人官网二区| 国产精品伦理一区二区| 亚洲大片精品永久免费| 国产麻豆精品theporn| 99久久精品久久久久久清纯| 666欧美在线视频| 精品国产免费久久| 玉米视频成人免费看| 免费在线看一区| av欧美精品.com| 欧美一二三四区在线| 中文字幕成人av| 日韩成人免费在线| 国产69精品久久99不卡| 欧美日韩一级片网站| 久久久国产午夜精品| 午夜精品久久久久久久| 国产精品自拍一区| 欧美高清dvd| 国产精品情趣视频| 日本欧洲一区二区| 99精品国产视频| 精品久久久久久久久久久久包黑料 | 久久综合av免费| 亚洲自拍偷拍欧美| 国产黑丝在线一区二区三区| 欧美日韩国产区一| 日韩毛片一二三区| 国产一区二区在线视频| 欧美少妇一区二区| 国产精品成人免费| 国产一区二区福利| 欧美一区中文字幕| 一区二区三区高清| 成人精品电影在线观看| 精品国产免费久久| 男女激情视频一区| 欧美日韩三级一区| 一区二区三区资源| 成人成人成人在线视频| 久久综合九色综合97_久久久| 爽爽淫人综合网网站| 色欧美片视频在线观看| 国产精品久久国产精麻豆99网站| 经典三级视频一区| 精品三级在线看| 天天色天天操综合| 欧美日韩国产精品成人| 亚洲乱码国产乱码精品精小说| 国产v日产∨综合v精品视频| 精品精品欲导航| 蜜桃精品视频在线观看| 911精品产国品一二三产区| 亚洲制服丝袜一区| 色婷婷激情一区二区三区| 国产清纯在线一区二区www| 久久99久久99| 日韩视频免费观看高清完整版| 亚洲一二三四在线| 欧美午夜在线一二页| 亚洲一区二区成人在线观看| 91女人视频在线观看| 中文字幕在线免费不卡| k8久久久一区二区三区| 国产精品久久久久7777按摩| 99久久精品免费看| 亚洲黄色在线视频| 91久久一区二区| 亚洲一区日韩精品中文字幕| 欧美日韩一本到| 午夜精品成人在线视频| 欧美妇女性影城| 免播放器亚洲一区| 午夜av一区二区三区| 国产一区二区精品在线观看| 欧美一级欧美三级在线观看| 日韩高清在线不卡| 91精品国产乱| 久久黄色级2电影| ww久久中文字幕| 国产91丝袜在线播放0| 国产精品久久久久久久久晋中 | 欧美精三区欧美精三区| 午夜久久久久久| 91精品国产高清一区二区三区 | 国产欧美精品一区aⅴ影院| 欧美精品 日韩| 国内成人精品2018免费看| 一本色道久久综合亚洲aⅴ蜜桃 | 国产中文一区二区三区| 国产女人18毛片水真多成人如厕| 99久久精品免费看国产免费软件| 一区二区高清免费观看影视大全 | 精品国产污污免费网站入口 | 精品国产伦一区二区三区观看方式| 国产精品18久久久| 一区二区三区在线视频播放 | 国产黄人亚洲片| 一区二区三区精品|