# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. include "../mwcs.h" # MW_V1TRAN -- Optimized 1D coordinate transformation for an array of points. procedure mw_v1tran$t (a_ct, x1, x2, npts) pointer a_ct #I pointer to CTRAN descriptor PIXEL x1[ARB] #I coordinates in input system PIXEL x2[ARB] #O coordinates in output system int npts int i pointer ct PIXEL scale, offset errchk mw_ctran$t begin # Get real or double version of descriptor. ct = CT_$T(a_ct) scale = Mem$t[CT_LTM(ct)] offset = Mem$t[CT_LTV(ct)] # Perform the transformation; case LNR is a simple linear transform. if (CT_TYPE(ct) == LNR) { do i = 1, npts x2[i] = scale * x1[i] + offset } else { do i = 1, npts call mw_ctran$t (a_ct, x1[i], x2[i], 1) } end