1 typedef struct _geom_elem {
2   double        coeffs[6];
3 } pGeomDefRec, *pGeomDefPtr;
4 typedef struct _mpgeombanddef {
5 	int	yOut;
6 	int	in_width;
7 } mpGeometryBandRec, *mpGeometryBandPtr;
8 typedef void *pointer;
9 typedef unsigned char  CARD8;
10 typedef CARD8 BytePixel;
BiGL_B(OUTP,srcimg,width,sline,pedpvt,pvtband)11 void  BiGL_B  (OUTP,srcimg,width,sline,pedpvt,pvtband)	pointer OUTP;
12 pointer *srcimg;
13 register int width;
14 int sline;
15 pGeomDefPtr pedpvt; mpGeometryBandPtr pvtband;
16 {
17   register float s, t, st;
18   register int 	isrcline,isrcpix;
19   register int 	srcwidth = pvtband->in_width - 1;
20   register   BytePixel  val;
21   register   BytePixel  *ptrIn, *ptrJn;
22   register double a  = pedpvt->coeffs[0];
23   register double c  = pedpvt->coeffs[2];
24   register double srcpix  = a * ((double)(0.0000))  +	pedpvt->coeffs[1] * (pvtband->yOut + ((double)(0.0000)) ) +	pedpvt->coeffs[4];
25   register double srcline = c * ((double)(0.0000))  +	pedpvt->coeffs[3] * (pvtband->yOut + ((double)(0.0000)) ) +	pedpvt->coeffs[5];
26   if ( (isrcpix >= 0) && (isrcpix < srcwidth) )
27     val =	ptrIn[isrcpix]   * ((float)1. - s - t + st) + ptrIn[isrcpix+1] * (s - st) +	ptrJn[isrcpix]   * (t - st) +	ptrJn[isrcpix+1] * (st) +   (float)0.5 ;
28 }
29