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

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

?? objrtbin.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*               CLIPS Version 6.30  10/19/06          */   /*                                                     */   /*                                                     */   /*******************************************************//*************************************************************//* Purpose: Binary Load/Save Functions Defrule               *//*          Object Pattern Network                           *//*                                                           *//* Principal Programmer(s):                                  *//*      Brian L. Donnell                                     *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*                                                           *//*      6.24: Converted INSTANCE_PATTERN_MATCHING to         *//*            DEFRULE_CONSTRUCT.                             *//*                                                           *//*            ResetObjectMatchTimeTags did not pass in the   *//*            environment argument when BLOAD_ONLY was set.  *//*                                                           *//*      6.30: Added support for hashed alpha memories.       *//*                                                           *//*************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if DEFRULE_CONSTRUCT && OBJECT_SYSTEM && (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE)#include "bload.h"#include "bsave.h"#include "envrnmnt.h"#include "memalloc.h"#include "insfun.h"#include "objrtmch.h"#include "reteutil.h"#include "rulebin.h"#define _OBJRTBIN_SOURCE_#include "objrtbin.h"/* =========================================   *****************************************               MACROS AND TYPES   =========================================   ***************************************** */typedef unsigned long UNLN;typedef struct bsaveObjectPatternNode  {   unsigned multifieldNode : 1;   unsigned endSlot        : 1;   unsigned selector       : 1;   unsigned whichField     : 8;   unsigned leaveFields    : 8;   unsigned slotNameID;   long networkTest,        nextLevel,        lastLevel,        leftNode,        rightNode,        alphaNode;  } BSAVE_OBJECT_PATTERN_NODE;typedef struct bsaveObjectAlphaNode  {   struct bsavePatternNodeHeader header;   long classbmp,        slotbmp,        patternNode,        nxtInGroup,        nxtTerminal;  } BSAVE_OBJECT_ALPHA_NODE;#define BsaveObjectPatternIndex(op) ((op != NULL) ? op->bsaveID : -1L)#define BsaveObjectAlphaIndex(ap)   ((ap != NULL) ? ap->bsaveID : -1L)#define ObjectPatternPointer(i) ((i == -1L) ? NULL : (OBJECT_PATTERN_NODE *) &ObjectReteBinaryData(theEnv)->PatternArray[i])#define ObjectAlphaPointer(i)   ((i == -1L) ? NULL : (OBJECT_ALPHA_NODE *) &ObjectReteBinaryData(theEnv)->AlphaArray[i])/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */#if BLOAD_AND_BSAVEstatic void BsaveObjectPatternsFind(void *);static void BsaveStorageObjectPatterns(void *,FILE *);static void BsaveObjectPatterns(void *,FILE *);#endifstatic void BloadStorageObjectPatterns(void *);static void BloadObjectPatterns(void *);static void UpdateAlpha(void *,void *,long);static void UpdatePattern(void *,void *,long);static void ClearBloadObjectPatterns(void *);static void DeallocateObjectReteBinaryData(void *);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//***********************************************************  NAME         : SetupObjectPatternsBload  DESCRIPTION  : Initializes data structures and                   routines for binary loads of                   generic function constructs  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : Routines defined and structures initialized  NOTES        : None ***********************************************************/globle void SetupObjectPatternsBload(  void *theEnv)  {   AllocateEnvironmentData(theEnv,OBJECTRETEBIN_DATA,sizeof(struct objectReteBinaryData),DeallocateObjectReteBinaryData);#if BLOAD_AND_BSAVE   AddBinaryItem(theEnv,"object patterns",0,BsaveObjectPatternsFind,NULL,                             BsaveStorageObjectPatterns,BsaveObjectPatterns,                             BloadStorageObjectPatterns,BloadObjectPatterns,                             ClearBloadObjectPatterns);#endif#if BLOAD || BLOAD_ONLY   AddBinaryItem(theEnv,"object patterns",0,NULL,NULL,NULL,NULL,                             BloadStorageObjectPatterns,BloadObjectPatterns,                             ClearBloadObjectPatterns);#endif  }  /***********************************************************//* DeallocateObjectReteBinaryData: Deallocates environment *//*    data for object rete binary functionality.           *//***********************************************************/static void DeallocateObjectReteBinaryData(  void *theEnv)  {#if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE) && (! RUN_TIME)   size_t space;   long i;   for (i = 0; i < ObjectReteBinaryData(theEnv)->AlphaNodeCount; i++)     { DestroyAlphaMemory(theEnv,&ObjectReteBinaryData(theEnv)->AlphaArray[i].header,FALSE); }   space = ObjectReteBinaryData(theEnv)->AlphaNodeCount * sizeof(struct objectAlphaNode);   if (space != 0) genfree(theEnv,(void *) ObjectReteBinaryData(theEnv)->AlphaArray,space);   space = ObjectReteBinaryData(theEnv)->PatternNodeCount * sizeof(struct objectPatternNode);   if (space != 0) genfree(theEnv,(void *) ObjectReteBinaryData(theEnv)->PatternArray,space);#endif  }/* =========================================   *****************************************          INTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** */#if BLOAD_AND_BSAVE/***************************************************  NAME         : BsaveObjectPatternsFind  DESCRIPTION  : Sets the Bsave IDs for the object                 pattern data structures and                 determines how much space                 (including padding) is necessary                 for the alpha node bitmPS  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : Counts written  NOTES        : None ***************************************************/static void BsaveObjectPatternsFind(  void *theEnv)  {   OBJECT_ALPHA_NODE *alphaPtr;   OBJECT_PATTERN_NODE *patternPtr;   SaveBloadCount(theEnv,ObjectReteBinaryData(theEnv)->AlphaNodeCount);   SaveBloadCount(theEnv,ObjectReteBinaryData(theEnv)->PatternNodeCount);   ObjectReteBinaryData(theEnv)->AlphaNodeCount = 0L;   alphaPtr = ObjectNetworkTerminalPointer(theEnv);   while (alphaPtr != NULL)     {      alphaPtr->classbmp->neededBitMap = TRUE;      if (alphaPtr->slotbmp != NULL)        alphaPtr->slotbmp->neededBitMap = TRUE;      alphaPtr->bsaveID = ObjectReteBinaryData(theEnv)->AlphaNodeCount++;      alphaPtr = alphaPtr->nxtTerminal;     }   ObjectReteBinaryData(theEnv)->PatternNodeCount = 0L;   patternPtr = ObjectNetworkPointer(theEnv);   while (patternPtr != NULL)     {      patternPtr->bsaveID = ObjectReteBinaryData(theEnv)->PatternNodeCount++;      if (patternPtr->nextLevel == NULL)        {         while (patternPtr->rightNode == NULL)           {            patternPtr = patternPtr->lastLevel;            if (patternPtr == NULL)              return;           }         patternPtr = patternPtr->rightNode;        }      else        patternPtr = patternPtr->nextLevel;     }  }/****************************************************  NAME         : BsaveStorageObjectPatterns  DESCRIPTION  : Writes out the number of bytes                 required for object pattern bitmaps,                 and the number of object pattern                 alpha an intermediate nodes  INPUTS       : Bsave file stream pointer  RETURNS      : Nothing useful  SIDE EFFECTS : Counts written  NOTES        : None ****************************************************/static void BsaveStorageObjectPatterns(  void *theEnv,  FILE *fp)  {   size_t space;   space = sizeof(long) * 2;   GenWrite(&space,sizeof(size_t),fp);   GenWrite(&ObjectReteBinaryData(theEnv)->AlphaNodeCount,sizeof(long),fp);   GenWrite(&ObjectReteBinaryData(theEnv)->PatternNodeCount,sizeof(long),fp);  }/***************************************************  NAME         : BsaveObjectPatterns  DESCRIPTION  : Writes ouyt object pattern data                 structures to binary save file  INPUTS       : Bsave file stream pointer  RETURNS      : Nothing useful  SIDE EFFECTS : Data structures written  NOTES        : Extra padding written with alpha                 node bitmaps to ensure correct                 alignment of structues on bload ***************************************************/static void BsaveObjectPatterns(  void *theEnv,  FILE *fp)  {   size_t space;   OBJECT_ALPHA_NODE *alphaPtr;   OBJECT_PATTERN_NODE *patternPtr;   BSAVE_OBJECT_ALPHA_NODE dummyAlpha;   BSAVE_OBJECT_PATTERN_NODE dummyPattern;   space = (sizeof(BSAVE_OBJECT_ALPHA_NODE) * ObjectReteBinaryData(theEnv)->AlphaNodeCount) +           (sizeof(BSAVE_OBJECT_PATTERN_NODE) * ObjectReteBinaryData(theEnv)->PatternNodeCount);   GenWrite(&space,sizeof(size_t),fp);   /* ==========================================      Write out the alpha terminal pattern nodes      ========================================== */   alphaPtr = ObjectNetworkTerminalPointer(theEnv);   while (alphaPtr != NULL)     {      AssignBsavePatternHeaderValues(theEnv,&dummyAlpha.header,&alphaPtr->header);      dummyAlpha.classbmp = (long) alphaPtr->classbmp->bucket;      if (alphaPtr->slotbmp != NULL)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区不卡| 欧美色电影在线| 欧美精品一区二区三| 久久精品99国产精品| 欧美亚洲另类激情小说| 亚洲成av人片在线观看| 欧美一区二区三区视频在线| 青青草国产精品亚洲专区无| 欧美一级爆毛片| 国产在线精品一区二区| 中文字幕制服丝袜一区二区三区| 99久久99久久精品免费观看| 亚洲成av人综合在线观看| 制服丝袜一区二区三区| 粉嫩av亚洲一区二区图片| 亚洲一区二区四区蜜桃| 欧美电影免费观看高清完整版在| 成人av在线观| 首页亚洲欧美制服丝腿| 国产欧美精品国产国产专区| 日本黄色一区二区| 美女网站色91| 一片黄亚洲嫩模| 国产视频一区二区在线| 欧美日本韩国一区| 成人18视频在线播放| 国模冰冰炮一区二区| 视频一区免费在线观看| 亚洲欧美激情小说另类| 久久人人97超碰com| 欧美一区二区国产| fc2成人免费人成在线观看播放| 天堂久久久久va久久久久| 国产精品福利av| 欧美国产1区2区| 国产区在线观看成人精品| 欧美一区二区精品在线| 欧美精品欧美精品系列| 欧洲视频一区二区| 色综合久久精品| 91丝袜美腿高跟国产极品老师| 国产一区 二区| 国产精品资源在线| 国产麻豆一精品一av一免费| 国产美女精品人人做人人爽| 激情综合色播激情啊| 精品午夜一区二区三区在线观看| 日韩高清不卡一区| 麻豆国产精品777777在线| 日本人妖一区二区| 伦理电影国产精品| 高潮精品一区videoshd| 国产精品一区二区在线观看网站| 丁香另类激情小说| 欧洲国内综合视频| 欧美色中文字幕| 日韩一区二区在线观看| 精品久久免费看| 亚洲欧美一区二区久久| 婷婷六月综合亚洲| 国产大片一区二区| 一本大道综合伊人精品热热| 日韩一区二区三区观看| 国产精品色噜噜| 丝袜亚洲另类丝袜在线| 成人网页在线观看| 3d动漫精品啪啪1区2区免费 | 精品三级在线观看| 国产肉丝袜一区二区| 亚瑟在线精品视频| 国产传媒日韩欧美成人| 欧美日韩三级在线| 国产精品久久久久aaaa樱花| 日日摸夜夜添夜夜添精品视频| 国产 欧美在线| 日韩三级中文字幕| 午夜视频在线观看一区| av一区二区不卡| 久久精品在这里| 久久精品99国产精品日本| 制服.丝袜.亚洲.中文.综合| 日本一区二区三区在线不卡| 久久aⅴ国产欧美74aaa| 88在线观看91蜜桃国自产| 一区二区三区日本| 91蝌蚪porny九色| 国产精品不卡视频| 成人自拍视频在线| 国产精品美女久久久久久久久| 韩国精品在线观看| 久久久久久夜精品精品免费| 老汉av免费一区二区三区 | 69精品人人人人| 天天操天天色综合| 欧美视频中文一区二区三区在线观看| **欧美大码日韩| av一区二区三区四区| 国产精品理论在线观看| 9色porny自拍视频一区二区| 亚洲视频一区在线| 国产清纯在线一区二区www| 国产91高潮流白浆在线麻豆 | 91行情网站电视在线观看高清版| 中文字幕视频一区| 欧美亚男人的天堂| 日韩电影免费一区| 国产亚洲va综合人人澡精品| 成人激情视频网站| 亚洲高清视频中文字幕| 欧美一区二区三区的| 国产激情视频一区二区在线观看| 国产欧美一区二区三区网站| 91麻豆国产自产在线观看| 偷拍自拍另类欧美| 国产亚洲短视频| 欧美日韩国产大片| 99精品久久只有精品| 一区二区三区在线免费视频 | 成人av网站在线| 亚洲成av人影院| 亚洲欧洲成人精品av97| 91精品国产麻豆| av电影在线观看不卡| 久久精品噜噜噜成人av农村| 亚洲特级片在线| 国产色产综合产在线视频| 欧美色区777第一页| 成人精品在线视频观看| 麻豆91精品91久久久的内涵| 亚洲综合色网站| 中文字幕一区av| 久久久久久久av麻豆果冻| 91精品久久久久久久久99蜜臂| 色域天天综合网| 国产成人免费视频网站 | 国产精品久久毛片| 2022国产精品视频| 26uuu亚洲综合色| 欧美xxxxxxxx| 久久久青草青青国产亚洲免观| 精品美女一区二区三区| 日韩精品最新网址| 91精品国产麻豆国产自产在线| 欧美精品色综合| 精品久久国产字幕高潮| 欧美一区二区黄色| 久久久午夜精品| 国产视频一区二区在线| 国产精品乱人伦中文| 亚洲国产婷婷综合在线精品| 亚洲一级二级三级在线免费观看| 亚洲福利视频三区| 蜜臀久久99精品久久久久久9 | 日本一区二区电影| 亚洲少妇屁股交4| 午夜精品一区二区三区三上悠亚 | 久久久99精品免费观看| 国产精品福利一区二区| 亚洲第一主播视频| 国产一区激情在线| 欧美性xxxxxxxx| 精品va天堂亚洲国产| 中文字幕一区二区三区在线观看| 亚洲妇熟xx妇色黄| 国产麻豆午夜三级精品| 色猫猫国产区一区二在线视频| 欧美日韩和欧美的一区二区| 久久综合九色综合97婷婷| 亚洲视频在线一区| 国产一区二区三区黄视频 | 久久久久久久久久久久电影| 视频一区视频二区中文| 国产精品一区二区三区99| 欧美色视频在线| 亚洲男同性恋视频| 国内精品伊人久久久久av一坑| 91搞黄在线观看| 亚洲欧洲三级电影| 国产不卡视频一区| 久久精品日产第一区二区三区高清版| 亚洲综合网站在线观看| 91丨九色丨黑人外教| 国产欧美日韩综合精品一区二区| 日本一区中文字幕| 欧美视频三区在线播放| 亚洲欧美成人一区二区三区| 国产成人综合在线播放| 久久在线观看免费| 国内精品国产成人| 久久精品免费在线观看| 国产一区二区免费视频| 久久午夜老司机| 懂色中文一区二区在线播放| 国产欧美视频一区二区| 国产v综合v亚洲欧| 亚洲欧洲av一区二区三区久久| 色天天综合色天天久久| 亚洲一级不卡视频| 欧美日韩亚洲另类| 人人爽香蕉精品|