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