diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /noao/nproto/ace/edgewts.xNEW | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'noao/nproto/ace/edgewts.xNEW')
-rw-r--r-- | noao/nproto/ace/edgewts.xNEW | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/noao/nproto/ace/edgewts.xNEW b/noao/nproto/ace/edgewts.xNEW new file mode 100644 index 00000000..fdd8d8dd --- /dev/null +++ b/noao/nproto/ace/edgewts.xNEW @@ -0,0 +1,56 @@ +task test + +procedure test () + +double dx, dy, r[11], w[11], clgetd() +int i, nr + +begin + dx = clgetd ("dx") + dy = clgetd ("dy") + nr = 11 + + call edgewts (dx, dy, r, w, nr) + do i = 1, nr { + call eprintf ("%.2f %.4g\n") + call pargd (r[i]) + call pargd (w[i]) + } +end + +procedure edgewts (dx, dy, r, w, nr) + +double dx #I Distance from aperture center to pixel center +double dy #I Distance from aperture center to pixel center +double r[nr] #O Aperture radii +double w[nr] #O Weights +int nr #O Number of aperture radius points + +int i, j, k, n +double r2, rmin, rmax, dr, a, d, rap2, y2 + +begin + rmin = sqrt ((max(0.,dx-0.6))**2+(max(0.,dy-0.6))**2) + rmax = sqrt ((dx+0.6)**2+(dy+0.6)**2) + dr = (rmax - rmin) / nr + rmin = rmin + dr / 2 + + n = 100 + d = 1.0D0 / (2 * n + 1) + a = d * d + + do k = 1, nr { + rap2 = (rmin + (k - 1) * dr) ** 2 + r[k] = sqrt (rap2) + w[k] = 0.0D0 + do j = -n, n { + y2 = (dy + j * d) ** 2 + do i = -n, n { + r2 = y2 + (dx + i * d) ** 2 + if (r2 > rap2) + break + w[k] = w[k] + a + } + } + } +end |