2006-09-25 09:46:28 -07:00
|
|
|
/*! \file trig.h
|
|
|
|
* * \brief Interface to trig lookup tables
|
2007-06-28 10:47:08 -07:00
|
|
|
*/
|
|
|
|
#ifndef _trig_h
|
|
|
|
#define _trig_h
|
|
|
|
|
|
|
|
/* The number of units around a full circle */
|
|
|
|
#define TRIG_DEGREES 360
|
|
|
|
|
|
|
|
/* conversion macros */
|
|
|
|
#define DEG_TO_RAD(x) (x*PI/180.0)
|
|
|
|
#define RAD_TO_DEG(x) (x*180.0/PI)
|
|
|
|
|
|
|
|
/* Initialise the Trig tables */
|
|
|
|
extern BOOL trigInitialise(void);
|
|
|
|
|
|
|
|
/* Shutdown the trig tables */
|
|
|
|
extern void trigShutDown(void);
|
|
|
|
|
|
|
|
/* Lookup trig functions */
|
|
|
|
extern FRACT trigSin(SDWORD angle);
|
|
|
|
extern FRACT trigCos(SDWORD angle);
|
|
|
|
extern FRACT trigInvSin(FRACT val);
|
|
|
|
extern FRACT trigInvCos(FRACT val);
|
|
|
|
|
|
|
|
/* Supposedly fast lookup sqrt - unfortunately it's probably slower than the FPU sqrt :-( */
|
|
|
|
extern FRACT trigIntSqrt(UDWORD val);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|