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

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

?? bookeep.c

?? 地球模擬器
?? C
字號:
/* bookeep.c   9-9-92  bookeeping functions for the Tierra Simulator *//* Tierra Simulator V4.0: Copyright (c) 1991, 1992 Tom Ray & Virtual Life */#ifndef lintstatic char sccsid[] = "@(#)bookeep.c	1.5 7/21/92";#endif /* lint */#include "license.h"#include "tierra.h"#include "extern.h"#ifdef MEM_CHK#include <memcheck.h>#endif /* MEM_CHK */void DivideBookeep(ce, nc)    Pcells   ce, nc; /* ce = mother cell, nc = daughter cell */{   I8s      same = 0;    Event    SizGen;    GlIndex  GiHash;    LastDiv = InstExe;    if (!ce->d.fecundity && !ce->d.mut && !ce->d.flaw)    {   ce->d.d1.flags = ce->d.flags;    /* record metabolic data 1st repl */        ce->d.d1.inst = ce->d.inst + 1;        ce->d.d1.mov_daught = ce->d.mov_daught;    }    ce->d.fecundity++;    nc->d.gen.size = nc->mm.s;    if (GeneBnker)    {   nc->d.genome = soup + nc->mm.p;        if (ce->mm.s == nc->mm.s &&    /* if cell breeds true */            IsSameGen(nc->mm.s, soup + nc->mm.p, soup + ce->mm.p))        {   if (ce->d.fecundity == 1)                nc->d.d1.BreedTrue = ce->d.d1.BreedTrue = 1;            nc->d.parent = ce->d.parent;            nc->d.gen = ce->d.gen;            nc->d.gi = ce->d.gi;            nc->d.hash = ce->d.hash;            same = 1;        }        else     /* if daughter is a new genotype (same = 0) */        {   nc->d.parent = ce->d.gen; /* this will assign a gen.label */            GiHash = CheckGenotype(nc->d, 17); /* by checking .gen files */            nc->d.hash = GiHash.si;            nc->d.gi = GiHash.gi;            strcpy(nc->d.gen.label, Int2Lbl(GiHash.gi));        }        SizGen = DivGenBook(ce, nc, InstExe, reaped, 1, same, 0);        NumGenotypes += SizGen.i;        NumSizes += SizGen.m;    }    ce->d.mov_daught = ce->d.mut = 0;    OutDisk((I32s)'b', nc);#if FRONTEND != STDIO    FEStats(); #endif /* FRONTEND != STDIO */}void ReapBookeep(ce)    Pcells  ce;{   Event   SizGen;    OutDisk((I32s)'d', ce);    if (GeneBnker)    {   SizGen = ReapGenBook(ce);        NumGenotypes += SizGen.i;        NumSizes += SizGen.m;    }#ifdef MICRO    if (ce == MicroSlice) MicroSlice = NULL;#endif /*MICRO */    InitCell(ce->q.this.a,ce->q.this.i,ce);    NumCells--;    reaped = 1;}void MutBookeep(i)    I32s i;{    I8s    md;    Pcells ce;    Event   SizGen;    GlIndex  GiHash;    if (!GeneBnker || IsFree(i)) return;    WhichCell(i, &ce, &md);    if (md == 'd')        return;    SizGen = ReapGenBook(ce);    NumGenotypes += SizGen.i;    OutDisk((I32s)'d', ce);    ce->d.parent = ce->d.gen;    /* assign new genotype */    ce->d.gi = -1;    strcpy(ce->d.gen.label, "---");    GiHash = CheckGenotype(ce->d, 17); /* by checking .gen files */    ce->d.hash = GiHash.si;    ce->d.gi = GiHash.gi;    strcpy(ce->d.gen.label, Int2Lbl(GiHash.gi));    SizGen = DivGenBook(NULL, ce, InstExe, reaped, 0, 0, 0);/*  SizGen = DivGenBook(NULL, ce, 1, reaped, InstExe, 0, 0); */    NumGenotypes += SizGen.i;    OutDisk((I32s)'b', ce);    ce->d.d1.flags = ce->d.d1.mov_daught = 0L;    ce->d.fecundity = ce->d.flags = 0L;    ce->d.d1.inst = ce->d.inst = 0L;    ce->d.mut++;}void OutDisk(bd, nc)    I32s bd;    Pcells nc;{   I32s ttime;    I8s label[4];    if (DiskOut)    {   if (FirstOutDisk)        {   FirstOutDisk = 0;            BrkupCum = 0;            BrkupCou = 1;#ifdef IBM3090            if (BrkupSiz)                sprintf(Buff, "break.1.d");            else sprintf(Buff, "tierra.run.d");            oufr = fopen(Buff, "w");#else /* IBM3090 */            if (BrkupSiz)                sprintf(Buff, "%sbreak.1", OutPath);            else sprintf(Buff, "%stierra.run", OutPath);            oufr = fopen(Buff, "w");#endif /* IBM3090 */            if (oufr == NULL)            {   FEError(-108,EXIT,NOWRITE,                    "Tierra OutDisk() 1: file %s not opened, exiting\n", Buff);            }            sprintf(label, nc->d.gen.label);#ifdef IBM3090            Ascii2Ebcdic(label);#endif /* IBM3090 */            BrkupCum += fprintf(oufr, "%lx %c %ld", InstExe.i, (I8s) bd,                nc->d.gen.size);            if (GeneBnker)                BrkupCum += 1 + fprintf(oufr, " %s\n", label);            else BrkupCum += 1 + fprintf(oufr, "\n");        }        else        {   ttime = InstExe.i - lo.time;            if (ttime < 0)                ttime += 1000000L;            BrkupCum += fprintf(oufr, "%lx", ttime);            if (lo.bd != bd)                BrkupCum += fprintf(oufr, " %c", bd);            if (lo.size != nc->d.gen.size)                BrkupCum += fprintf(oufr, " %ld", nc->d.gen.size);            if (GeneBnker && strcmp(lo.label, nc->d.gen.label))            {   sprintf(label, nc->d.gen.label);#ifdef IBM3090                Ascii2Ebcdic(label);#endif /* IBM3090 */                BrkupCum += fprintf(oufr, " %s", label);            }            BrkupCum += 1 + fprintf(oufr, "\n");            if (BrkupSiz && BrkupCum > BrkupSiz * 1024L)            {   fclose(oufr);                BrkupCum = 0;                BrkupCou++;#ifdef IBM3090                sprintf(Buff, "break.%ld.d", BrkupCou);                oufr = fopen(Buff, "w");#else /* IBM3090 */                sprintf(Buff, "%sbreak.%ld", OutPath, BrkupCou);                oufr = fopen(Buff, "w");#endif /* IBM3090 */                if (oufr == NULL)                {   FEError(-109,EXIT,WRITE,                   "Tierra OutDisk() 2: file %s not opened, exiting\n", Buff);                }            }        }    }    else    {   if (FirstOutDisk) FirstOutDisk = 0;        else        {   ttime = InstExe.i - lo.time;            if (ttime < 0) ttime += 1000000L;        }    }    lo.bd = bd;    lo.size = nc->d.gen.size;    lo.time = InstExe.i;    strcpy(lo.label, nc->d.gen.label);    TimePop += (double) ttime *(double) NumCells;    if ((I8s) bd == 'b')        TimeBirth++;    else TimeDeath++;}void plan(){   I32s i, j, n = 0, indiv_gen_time, pop_gen_time;    I32s MaxPop = 0, MaxMem = 0, pop = 0, mem = 0, ar, ci;    Genotype MaxGenPop, MaxGenMem;    double prob_of_hit;    Pcells ce;    I8s  *chk;    Pcells Fp  tcells;#ifdef MEM_PROF    I32s  SizSoup, SizCells, SizFreeMem, SizSl, SizSli = 0;    I32s  SizGl = 0, SizGli = 0, SizGen = 0;#endif /* MEM_PROF */#ifndef CM5    if (GeneBnker && reaped)    {        GarbageCollectGB();#ifdef ERROR        VerifyGB();#endif /* ERROR */    }#endif /* CM5 */    /* begin calculate averages */    AverageSize = 0;    chk = tcalloc(NumCelAr, sizeof(I8s));    for (ar = 0; ar < NumCelAr; ar++) for (ci = 0; ci < CelArSiz; ci++)    {   if (ar == 0 && ci < 2)            continue;        ce = &cells[ar][ci];        if (ce->ld)        {   n++; chk[ar] = 1;            AverageSize += ce->d.gen.size;#ifndef CM5            if (GeneBnker && InstExe.m)            {   pop = sl[ce->d.gen.size]->g[ce->d.gi]->pop;                mem = pop * ce->d.gen.size;                if (pop > MaxPop)                {   MaxPop = pop;                    MaxGenPop = ce->d.gen;                }                if (mem > MaxMem)                {   MaxMem = mem;                    MaxGenMem = ce->d.gen;                }            }#endif /* CM5 */        }    }#ifdef CM5    if (GeneBnker && InstExe.m)        FindMaxGen();#endif /* CM5 *//* end calculate averages */    /* begin garbage collect for cells array */    if (reaped)        for(ar = NumCelAr - 1; ar > 0; ar--)        {   if (chk[ar])                break;            if (cells[ar])            {   tfree(cells[ar]);                cells[ar] = NULL;            }            NumCelAr--;            tcells = (Pcells Fp) trecalloc((Pcells Fp) cells,                (I32u) NumCelAr * sizeof(Pcells Fp),                (I32u) (NumCelAr + 1) * sizeof(Pcells Fp));            if (tcells)                cells = tcells;            else if (cells)            {   tfree(cells);                cells = NULL;             FEError(-129,EXIT,WRITE,"Tierra plan() cells trecalloc error\n");            }            CellsSize = NumCelAr * CelArSiz;        } /* end garbage collect for cells array */    if (chk)    {   tfree(chk);        chk = NULL;    }#ifdef MEM_PROF /* calculate memory profile */    TotMemUse = SizSoup = SoupSize * sizeof(Instruction);    TotMemUse += SizCells = CellsSize * sizeof(struct cell);    TotMemUse += SizFreeMem = MaxFreeBlocks * sizeof(MemFr);    if(GeneBnker)    {   TotMemUse += SizSl = siz_sl * sizeof(SList Fp);        for (i = 0; i < siz_sl; i++)        {   if (sl[i])            {   TotMemUse += sizeof(SList);                SizSli += sizeof(SList);                TotMemUse += sl[i]->a_num * sizeof(GList Fp);                SizGl += sl[i]->a_num * sizeof(GList Fp);                for (j = 0; j < sl[i]->a_num; j++)                {   if ((I32s) sl[i]->g[j] > 4)                    {   TotMemUse += sizeof(GList);                        SizGli += sizeof(GList);                        if (sl[i]->g[j]->genome)                        {   TotMemUse += i * sizeof(Instruction);                            SizGen += i * sizeof(Instruction);                        }                        if (sl[i]->g[j]->gbits)                        {   TotMemUse += i * sizeof(GenBits);                            SizGen += i * sizeof(GenBits);                        }                    }                }            }        }    }#endif /* MEM_PROF */    /* begin calculate averages */    if (n != NumCells)    {   FEError(-130,EXIT,NOWRITE,         "Tierra plan() NumCells = %ld  count of cells = %ld\n", NumCells, n);    }    AverageSize /= n;    if (GenPerMovMut)        RateMovMut = (I32s) 2L *GenPerMovMut * AverageSize;    indiv_gen_time = 10L * AverageSize;    if (InstExe.m)        pop_gen_time = NumCells * indiv_gen_time;    else pop_gen_time = indiv_gen_time * (SoupSize / (4L * AverageSize));    prob_of_hit = (double) AverageSize / (double) SoupSize;    if (GenPerBkgMut)        RateMut = (I32s) (pop_gen_time * 2L * GenPerBkgMut * prob_of_hit);    if (GenPerFlaw)        RateFlaw = (I32s) indiv_gen_time *GenPerFlaw * 2L;    if (DropDead) DropDead = 1L + AverageSize / 80L;  /* DAN */    Search_limit = (I32s) (SearchLimit * AverageSize);    Put_limit = (I32s) (PutLimit * AverageSize);    MalLimit = MalTol * AverageSize;    if (MalLimit >= SoupSize)        MalLimit = SoupSize - 1;    if (InstExe.m)    {   TimePop /= 1000000.;        Generations += (double) (TimeBirth + TimeDeath) / (2. * TimePop);    }    /* end calculate averages */    FEPlan(MaxPop, MaxMem, &MaxGenPop, &MaxGenMem);#ifdef MEM_PROF    FEMemProf(SizSoup, SizCells, SizFreeMem, SizSl, SizSli,        SizGl, SizGli, SizGen);#endif /* MEM_PROF */    TimePop = 0.;    TimeBirth = TimeDeath = 0L;}I16s Lbl2Int(s)    I8s *s;{    if (s[0] == '-')    return -1;    return (s[2] - 'a') + (26 * (s[1] - 'a')) + (676 * (s[0] - 'a'));}I8s *Int2Lbl(i)    I32s i;{    static I8s s[4];    if (i < 0) {    strcpy(s, "---");    return s;    }    s[0] = 'a' + (I16s) i / 676;    i %= 676;    s[1] = 'a' + (I16s) i / 26;    i %= 26;    s[2] = 'a' + (I16s) i;    s[3] = 0;    return s;}I32u WhoIs(ce, a)    Pcells  Fp ce;    I32s a;{    I8s md;    if (a >= (*ce)->mm.p && a < (*ce)->mm.p + (*ce)->mm.s)        return 0;          /* same cell */    if (a >= (*ce)->md.p && a < (*ce)->md.p + (*ce)->md.s)        return 1;          /* daughter cell */    if (IsFree(a))        return 3;          /* is free memory */    WhichCell(a, ce, &md);    if (md == 'm')        return 2;          /* is other cell */    return 4;              /* is the daughter of another cell */}I8s IsSameGen(size, g1, g2)/* compare two genomes */    I32s size;    FpInst g1, g2;{    I32s i, j;    for (i = 0; i < size; i++) #if PLOIDY == 1        if ((g1 + i)->inst != (g2 + i)->inst)#else /* PLOIDY > 1 */    for (j = 0; j < PLOIDY; j++)        if ((g1 + i)[j]->inst != (g2 + i)[j]->inst)#endif /* PLOIDY > 1 */            return 0;    return 1;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久夜色精品一区| 欧美性三三影院| 国产女人18毛片水真多成人如厕 | 亚洲人成7777| 99久久免费精品| 亚洲一二三区不卡| 欧美精品免费视频| 国产一区在线精品| 亚洲婷婷在线视频| 69p69国产精品| 九色综合国产一区二区三区| 久久精品视频免费观看| 成人久久18免费网站麻豆 | 久久久亚洲综合| 成人伦理片在线| 亚洲国产日韩a在线播放| 欧美高清视频一二三区| 国产一区二区视频在线播放| 国产精品美女久久久久久久久 | 国产精品乱码久久久久久| 91在线精品秘密一区二区| 亚洲v日本v欧美v久久精品| 欧美成人伊人久久综合网| 成人免费毛片片v| 亚洲国产综合91精品麻豆| 精品成人在线观看| 色综合久久99| 国产一区二区电影| 亚洲成人动漫在线观看| 久久九九影视网| 在线观看一区不卡| 国产a视频精品免费观看| 天堂午夜影视日韩欧美一区二区| 国产日韩欧美精品在线| 欧美日韩一二三| a4yy欧美一区二区三区| 无码av免费一区二区三区试看| 国产亲近乱来精品视频| 在线播放日韩导航| 91免费观看视频| 国产一区二区电影| 日本午夜精品视频在线观看| 中文字幕日韩欧美一区二区三区| 日韩欧美色电影| 91九色最新地址| 成人午夜伦理影院| 黑人精品欧美一区二区蜜桃| 亚洲国产一区视频| 自拍av一区二区三区| 久久香蕉国产线看观看99| 欧美日韩国产美| 日本久久一区二区三区| 国产成人亚洲综合a∨猫咪| 蜜桃精品视频在线| 午夜天堂影视香蕉久久| 亚洲蜜臀av乱码久久精品| 亚洲国产精品成人综合| 欧美xxxxx裸体时装秀| 91.com在线观看| 欧美色男人天堂| 日本精品裸体写真集在线观看 | 亚洲一区日韩精品中文字幕| 国产区在线观看成人精品| 精品国产污污免费网站入口 | 美腿丝袜亚洲三区| 亚洲国产视频一区| 一区二区三区在线免费视频| 国产精品美女久久久久aⅴ| 26uuu亚洲综合色| 亚洲精品一区二区在线观看| 91精品国模一区二区三区| 欧美美女bb生活片| 91精品国产综合久久国产大片| 欧美日韩高清不卡| 欧美精品成人一区二区三区四区| 欧美午夜电影在线播放| 欧美在线免费观看亚洲| 色哟哟一区二区在线观看| 日本韩国精品一区二区在线观看| 色婷婷综合久色| 在线观看日韩一区| 欧美日韩激情在线| 欧美挠脚心视频网站| 51精品久久久久久久蜜臀| 日韩精品专区在线影院观看| 欧美成人精品福利| 国产亚洲视频系列| 国产精品久久一级| 一区二区三区在线视频免费| 一区二区三区成人| 午夜av一区二区| 美脚の诱脚舐め脚责91| 国产精品亚洲а∨天堂免在线| 成人丝袜高跟foot| 色欲综合视频天天天| 欧美日韩精品系列| 精品国产免费视频| 国产精品美女久久久久av爽李琼| 亚洲精选视频在线| 免费成人av在线| 成人sese在线| 欧美日韩国产经典色站一区二区三区 | 午夜电影网一区| 看片网站欧美日韩| 成人性生交大合| 欧美性猛交xxxx乱大交退制版| 日韩一区二区麻豆国产| 中文字幕欧美国产| 亚洲小说欧美激情另类| 日韩avvvv在线播放| 国产成人8x视频一区二区| 在线观看免费成人| 日韩一区和二区| 国产精品成人一区二区三区夜夜夜| 亚洲精品视频在线观看免费| 青娱乐精品视频在线| 国产成人精品综合在线观看| 欧美色爱综合网| 国产日产精品1区| 丝瓜av网站精品一区二区| 国产麻豆精品久久一二三| 欧美亚洲一区三区| 国产亚洲精品资源在线26u| 亚洲午夜免费福利视频| 国产一区二区福利视频| 欧美日韩不卡在线| 国产精品美女www爽爽爽| 日韩精品国产精品| 99国产精品久久久久| 日韩欧美国产电影| 樱花草国产18久久久久| 国产一区在线观看麻豆| 欧美日韩综合在线| 国产精品美女久久久久aⅴ| 全部av―极品视觉盛宴亚洲| 94色蜜桃网一区二区三区| 久久综合久久99| 日韩国产成人精品| 色88888久久久久久影院野外| 国产视频一区在线播放| 日欧美一区二区| 一本大道久久a久久综合婷婷| 亚洲精品一区二区三区99| 午夜激情一区二区三区| 色婷婷综合久久久久中文 | 一本一本大道香蕉久在线精品 | 亚洲欧洲日韩av| 国产精品996| 欧美成人精品1314www| 天天综合色天天综合色h| 欧美在线小视频| 中文字幕一区二区三区精华液| 国产揄拍国内精品对白| 日韩午夜精品电影| 日本aⅴ精品一区二区三区 | 精品国产亚洲在线| 男人的天堂久久精品| 欧美福利电影网| 亚洲www啪成人一区二区麻豆| 欧美中文字幕一区二区三区| 自拍偷拍欧美激情| 91小视频在线| 亚洲欧美日韩系列| 一本色道久久综合亚洲精品按摩| 国产精品国产成人国产三级| 处破女av一区二区| 中文字幕欧美国产| 99精品国产一区二区三区不卡| 国产精品国产a级| 91视频com| 樱桃国产成人精品视频| 欧美性大战久久| 日韩高清不卡一区| 日韩一级高清毛片| 六月丁香婷婷色狠狠久久| 亚洲精品在线三区| 高潮精品一区videoshd| 国产精品三级视频| 色综合久久中文字幕| 午夜精品一区二区三区三上悠亚 | 欧美精品一区二区三区一线天视频| 免费观看30秒视频久久| 精品精品欲导航| 成人午夜精品在线| 一区二区三区四区五区视频在线观看| 日本高清不卡在线观看| 轻轻草成人在线| 国产日韩亚洲欧美综合| 91玉足脚交白嫩脚丫在线播放| 一区二区三区免费看视频| 欧美人牲a欧美精品| 精品一区中文字幕| 欧美国产日本韩| 91高清在线观看| 免费欧美在线视频| 欧美激情一区二区三区| 欧美性高清videossexo| 蜜桃视频一区二区三区| 国产精品福利影院| 欧美一区二区二区|