/************************************************************************ * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ************************************************************************/ #define FIXSHIFT 16 #define FIXONE (1l << FIXSHIFT) #define SGN(x) ((x)>0?1:-1) #define ABS(x) ((int)(x)>0?(x):-(x)) #define LABS(x) ((long)(x)>0?(x):-(x)) #define fixed long extern long lshr6(long); extern long lshl6(long); extern long lshr8(long); extern long lshl8(long); extern int lshr16(fixed); extern fixed lshl16(int); extern fixed fixmul(fixed,fixed); extern fixed fixdiv(fixed,fixed); extern fixed fixdiv64(fixed a_l,fixed a_h, fixed b); extern fixed fixdiv64shl16(fixed a, fixed b); extern fixed fixmuldiv64(fixed a, fixed b, fixed c); extern fixed fixsqrt(fixed a); extern fixed fixdist(fixed dx, fixed dy); extern int intdist(int dex, int dey);