31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
|
/************************************************************************
|
||
|
* 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);
|