home *** CD-ROM | disk | FTP | other *** search
- /* QuickSin v1.00
- * written by Stefan Zeiger of ! WIZARD WORKS !
- * 13-Aug-1991
- * PUBLIC DOMAIN
- * Compiler: SAS/C 5.10a
- *
- * Parameter : [angle] : the angle in steps of 6 degrees (60 means a full
- * circle (=360 degrees)).
- * Return : The sin/cos value multiplied with 10000 as a signed LONG
- * number.
- */
-
-
-
- UWORD ___sin6list[]=
- {
- 0000,1045,2079,3090,4067,
- 5000,5877,6691,7431,8090,
- 8660,9135,9510,9781,9945,
- 10000
- };
-
- LONG __regargs lsin6(WORD);
- LONG __regargs lcos6(WORD);
-
- LONG __regargs lsin6(WORD angle)
- {
- LONG value;
- BOOL negsign=FALSE;
- while(angle<0) angle+=60;
- while(angle>=60) angle-=60;
- if(angle>=30) { angle-=30; negsign=TRUE; }
- if(angle>15) { angle-=15; angle=15-angle; }
- value=___sin6list[angle];
- if(negsign==TRUE) value=0L-value;
- return(value);
- }
-
- LONG __regargs lcos6(WORD angle)
- {
- return(lsin6(15-angle));
- }
-