home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
607.lha
/
WizardClock_v1.20
/
source.lzh
/
Sinus.h
< prev
next >
Wrap
Text File
|
1991-10-30
|
904b
|
43 lines
/* 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));
}