ca.h

来自「细胞自动机的一个源代码」· C头文件 代码 · 共 62 行

H
62
字号
#ifndef CA_TYPE#define CA_TYPE#include <stdio.h>#include <stdlib.h>#include <string.h>#define CA_MAX_LINE 2048#define CA_NON_TOT_CONFIG_TOKEN 0#define CA_OUT_TOT_CONFIG_TOKEN 1#define CA_DFA_CONFIG_TOKEN 3#define CA_DISPLAY_CONFIG_TOKEN 4#define CA_SAVE_FILE_TOKEN 5#define CA_PATTERN_FILE_TOKEN 6typedef struct ca_type {  int dim, *d, fd;  //dimesion, grid dimensions (eg fd=3x4x5)  int nei_num;      //neighbor num  int **nei, *fnei; //neighbor, relative and flat  int *w, wadd;     //weights for outer totalistic  int **ca;         //cell aut  int wlen, slen;   //ca win length, display series length  float **b, *wb;   //basis for displaying, wb series display  int k;            //number of states (alphabet)  int *r, r_num;       //rules ( r_num = k^(#nei+1)  int *tr, tr_num;  //outer totalistic rules.  tr_num = (nei_num*2)  int delay;      //update delay  int go;         //go command 0/1  int cur, next;  int diff;       //difference display} ca_t;int ca_config(ca_t *, FILE *);int *ca_nei_addp(ca_t *, int *, int *);int ca_point(ca_t *, int *);int ca_cell_alloc(ca_t *);int ca_flat_state(ca_t *, int);int ca_flat_update(ca_t *, int, int);void ca_free(ca_t *);ca_t *ca_alloc(int k, int dim, int wlen,	       int *d, int nei_num, int **nei,	       int *r, float **b, float *wb);ca_t *ca_init(ca_t *ca,int k, int dim, int wlen,	      int *d, int nei_num, int **nei,	      int *r, float **b, float *wb);int ca_file_config(ca_t *ca, FILE *fp);char *ca_readcfgl(char *l, FILE *fp);void ca_print(ca_t *);void ca_print_ca1d(ca_t *ca);void ca_print_ca2d(ca_t *ca);int ca_gen_template_file(FILE *fp, int dim, int nei, int a);int ca_2d_update(ca_t *, int *, int *);void ca_save_file(ca_t *, char *);int ca_read_file(ca_t *, char *);extern int (*ca_update_func)(ca_t *ca, int s, int e);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?