1use HTMesh; 2use strict; 3 4printf "%5s %5s %8s %8s %8s %8s %8s %8s %8s %8s %8s\n", 5 qw/size level c_trix r_trix iter/, "us/circ", "us/rec", "stars-c", "stars-r", "time-c", "time-r"; 6for my $size ( 1, 10, 90) { 7 my $size2 = $size / sqrt(2); 8 for my $level(3, 4, 5, 6) { 9 my $mesh = new HTMesh($level, 3); 10 my $num_triangles = $mesh->total_triangles(); 11 my ($ra, $dec) = (6.75, -16.72); 12 my @pt = ($ra, $dec); 13 $mesh->intersect_circle(@pt, $size); 14 my $c_trixels = $mesh->result_size(); 15 my $iter = 1000/ sqrt($c_trixels); 16 my $c_time = $mesh->time_circle($iter, @pt, $size ); 17 my $r_time = $mesh->time_rect($iter, @pt, $size2, $size2); 18 my $r_trixels = $mesh->result_size(); 19 my $c_stars = (126000 / $num_triangles) * $c_trixels; 20 my $r_stars = (126000 / $num_triangles) * $r_trixels; 21 my $us_per_circ = 1000 * 1000 * $c_time/$iter; 22 my $us_per_rect = 1000 * 1000 * $r_time/$iter; 23 my $tt1 = $us_per_circ + 5 * $c_stars; 24 my $tt2 = $us_per_rect + 5 * $r_stars; 25 printf "%5d %5d %8d %8d %8d %8d %8d %8d %8d %8d %8d\n", 26 $size, $level, $c_trixels, $r_trixels, $iter, $us_per_circ, $us_per_rect, 27 $c_stars, $r_stars, $tt1, $tt2; 28 } 29} 30 31 32 33 34 35 36