File: 920928-2.c

package info (click to toggle)
gcc-arm-none-eabi 15%3A7-2018-q2-6
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 539,240 kB
  • sloc: ansic: 2,739,935; cpp: 848,238; ada: 602,637; makefile: 62,919; asm: 55,632; xml: 46,238; exp: 23,020; sh: 19,616; python: 6,371; pascal: 3,889; awk: 3,278; perl: 2,691; yacc: 316; ml: 285; f90: 234; lex: 198; objc: 194; haskell: 119
file content (19 lines) | stat: -rw-r--r-- 719 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
typedef struct{struct{char*d;int b;}*i;}*t;
double f();
g(p)t p;
{
  short x,y,delta,s,w,h,fx,fy,tx,ty;
  int q1,q2,q3,q4;
  h=f((ty-fy)/2.0+0.5);
  s=(((int)((short)(tx-fx))<(int)((short)(ty-fy)))?((short)(tx-fx)):((short)(ty-fy)))%2;
  delta=(((int)(w)<(int)(h))?(w):(h))-s;
  for(x=0;x<=delta;x++)
    for(y=1-s;y<=delta;y++){
      q1=((int)((*(p->i->d+(fx+w+x)/8+(fy+h+y)*p->i->b)&(1<<((fx+w+x)%8)))?1:0));
      q2=((int)((*(p->i->d+(fx+w+y)/8+(fy+h-s-x)*p->i->b)&(1<<((fx+w+y)%8)))?1:0));
      q3=((int)((*(p->i->d+(fx+w-s-x)/8+(fy+h-s-y)*p->i->b)&(1<<((fx+w-s-x)%8)))?1:0));
      q4=((int)((*(p->i->d+(fx+w-s-y)/8+(fy+h+x)*p->i->b)&(1<<((fx+w-s-y)%8)))?1:0));
      if(q4!=q1)
	ff(p,fx+w-s-y,fy+h+x);
    }
}