void test (void) { int i, j, *res = correct_results; for (i = 0; i < 8; i++) { float arg0 = args[i]; for (j = 0; j < 8; j++) { float arg1 = args[j]; if (feq (arg0, arg1) != *res++) abort (); if (fne (arg0, arg1) != *res++) abort (); if (flt (arg0, arg1) != *res++) abort (); if (fge (arg0, arg1) != *res++) abort (); if (fgt (arg0, arg1) != *res++) abort (); if (fle (arg0, arg1) != *res++) abort (); } } }
void kb_scan(void) { static int d[4][4]={{13,9,5,1},{14,10,6,2},{15,11,7,3},{16,12,8,4}}; static int scan[4]={0x7f,0xbf,0xdf,0xef}; static int hmk[4]={240,240,240,240}; static int lmk[4]={1,2,4,8}; static int i=0,j=0,c=0,test=1,s=0; for(j=0;j<4;j++) { set(200,255,0,240); fpt(0,hmk[j],0,scan[j]); for(i=0;i<4;i++) { set(200,255,0,240); fgt(100,lmk[i],i,&test); if(test==0) { c=0; while(c==0) { set(200,255,0,240); fgt(100,lmk[i],i,&test); if(test>0) { s=d[j][i]; printf("j=%d,i=%d\n",j,i ); printf("%d\n",s); c=1; } } } } } }