- isqr(reg1->f[0] - reg2->f[0]) +
- isqr(reg1->f[1] - reg2->f[1]) +
- isqr(reg1->f[2] - reg2->f[2]) +
- isqr(reg1->f[3] - reg2->f[3]) +
- isqr(reg1->f[4] - reg2->f[4]) +
- isqr(reg1->f[5] - reg2->f[5]);
- dist[n++] = (CLAMP(dt * 0xffff / (64 * 64 * 6), 0, 0xffff) << 8) + i + (j << 4) ;
+ isqr((int)reg1->f[0] - (int)reg2->f[0]) +
+ isqr((int)reg1->f[1] - (int)reg2->f[1]) +
+ isqr((int)reg1->f[2] - (int)reg2->f[2]) +
+ isqr((int)reg1->f[3] - (int)reg2->f[3]) +
+ isqr((int)reg1->f[4] - (int)reg2->f[4]) +
+ isqr((int)reg1->f[5] - (int)reg2->f[5]);
+ if (ds < 1000)
+ dt *= 8;
+ else if (ds < 10000)
+ dt *= 12;
+ else
+ dt *= 16;
+ DBG("[%u][%u] ... ds=%u dt=%u", i, j, ds, dt);
+ dist[n++] = (dt << 8) + i + (j << 4) ;