4 * [Generated from fixedPt, 25 September 1996]
7 #if !defined(__CC_NORCROFT) || !defined(__arm)
8 #error You must use the Norcroft ARM Compiler for Sapphire programs
11 #pragma include_only_once
12 #pragma force_top_level
21 /*----- Overview ----------------------------------------------------------*
33 * On entry: R0 == x, in 16.16 fixed point form
35 * On exit: R0 == arctan x, in degrees, in 16.16 fixed point
37 * Use: Calculates arctan x, hopefully fairly swiftly. The
38 * accuracy of the result is open to doubt, although
39 * it's usually good to about 3 significant figures.
40 * It uses a small lookup table and linear interpolation
41 * to calculate the result.
44 extern routine fxp_atan;
48 * On entry: R0 == x coordinate
51 * On exit: R0 == angle in degrees, in 16.16 form
53 * Use: Calculates the angle a vector makes with the +ve x axis.
54 * The angle is given in degrees, rather than radians,
55 * although this isn't really overly significant; it just
56 * makes it slightly easier to work with, because it's
59 * This routine uses the arctan table and linear
60 * interpolation, so it's fairly quick, but the accuracy
61 * of its results is restricted to about 3 significant figures.
64 extern routine fxp_pol;
68 * On entry: R0 == angle in degrees, in 16.16 form
70 * On exit: R0 == sin of angle, in 16.16 form
72 * Use: Calculates a sin of an angle with a degree of swiftness and
73 * a lot less accuracy.
76 extern routine fxp_sin;
80 * On entry: R0 == angle in degrees, in 16.16 form
82 * On exit: R0 == cos of angle, in 16.16 form
84 * Use: Calculates a cos of an angle with a degree of swiftness and
85 * a lot less accuracy.
88 extern routine fxp_cos;
90 /*----- That's all, folks -------------------------------------------------*/