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