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 + -
显示快捷键?