⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parameterization.c

📁 用于2维的射线追踪
💻 C
字号:
#include "parameterization.h"void add_to_parameter_tab (		struct parameterization_tab_t *tab_p, 		struct coord_z3_t *cell_id, 		const struct mesh_t *m,		double length) {	long int l;	struct parameterization_t *p;	if (tab_p->nb % tab_p->blockminsize == 0) {		/* allocate new block */		tab_p->tab = (struct  parameterization_t *) 		   realloc (tab_p->tab, (tab_p->nb + tab_p->blockminsize) 				        * sizeof(struct parameterization_t));		assert(tab_p->tab);	}	l = linearize_cell_id (cell_id, m);	p = tab_p->tab + tab_p->nb;	p->parameter_id = l;	p->length = length;	tab_p->nb++;}struct parameterization_tab_t * new_parameterization () {    struct parameterization_tab_t *parametrization;    parametrization = (struct parameterization_tab_t *) 	    malloc (sizeof(struct parameterization_tab_t));    parametrization->tab = NULL;    parametrization->nb = 0;    parametrization->blockminsize = 50;    return (parametrization);}void free_parameterization (struct parameterization_tab_t *parameterization) {	free(parameterization->tab);	free(parameterization);}int cmp_parameterization (const void *a, const void *b){   const struct parameterization_t *aa = (const struct parameterization_t *) a;   const struct parameterization_t *bb = (const struct parameterization_t *) b;   if ( aa->parameter_id < bb->parameter_id) {	   return (-1);   }   return (1);}void dump_parameterization (FILE *fd, struct parameterization_tab_t *p, long int rayid) {	long int l;	qsort (p->tab, p->nb, sizeof(struct parameterization_t), cmp_parameterization);		fprintf(fd, "%ld %d\n", rayid, p->nb);		for (l=0; l<p->nb; l++) {		fprintf(fd, "%ld %f ", 			    (p->tab[l]).parameter_id, (p->tab[l]).length );	}	fprintf(fd, "\n");}

⌨️ 快捷键说明

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