Example #1
0
int main(void) {
	const unsigned n_wls = 500;
	vector loc, va, vb;
	unsigned width = 400, height = 400;
	loc = Vmk();
	va = Vmk();
	vb = Vmk();
	float angles[2];
	wavelet wls[n_wls];
	float **data = heap_array(width, height);
	prob s = {n_wls, wls, 20};
	//make emitters
	angles[0] = -0.25;
	angles[1] = 0.01;
	loc[0] = -8;
	loc[1] = 0;
	loc[2] = 0;
	circ_emitter(wls, 1, 1, 0, loc, angles, 5, n_wls/2, n_wls/20);
	angles[0] = 0.25;
	angles[1] = -0.01;
	loc[0] = 8;
	loc[1] = 0;
	loc[2] = 0;
	circ_emitter(wls+(n_wls/2), 1, 1, 0, loc, angles, 5, n_wls/2, n_wls/20);
	//take samples
	loc[0] = -10;
	loc[1] = 8;
	loc[2] = 5;
	va[0] = 20;
	va[1] = 0;
	va[2] = 0;
	vb[0] = 0;
	vb[1] = 0;
	vb[2] = 40;
	sample(loc, va, vb, width, height, &s, data);
	gen_gp_mat((const float**) data, width, height, "output.dat");
	free(loc);
	free(va);
	free(vb);
	free_heap_array(data, height);
	return 0;
}
int main(void) {
  stack_array();
  heap_array();
  return 0;
}