/********************************/ /* fastradius */ /* */ /* Fast radius lookup */ /********************************/ #include "misc.h" #define MAX 20 static float r[MAX][MAX]; setr () { int i, j; for (i = 0; i < MAX; i++) for (j = 0; j <= i; j++) { r[i][j] = r[j][i] = sqrt ((float) (i * i + j * j)); } } float fastr (x, y) int x, y; { register int i, j; i = abs (x); j = abs (y); if ((i < MAX) && (j < MAX)) return (r[i][j]); return (sqrt ((float) (i * i + j * j))); }