Routines 
Prev: 37AA  Up: Map 
The address of this routine is found in the table of addresses. It is called via the calculator literal +1F by the routines at DRAW, CD_PRMS1 and tan. It is also called indirectly via fp_calc_2.
This subroutine handles the function SIN X and is the third of the four routines that use the series generator to produce Chebyshev polynomials.
The approximation to SIN X is found as follows:


sin  37B5  RST $28  X  
Perform step i.


37B6  DEFB $39  get_argt: W  
Perform step ii. The subroutine from now on is common to both the SINE and COSINE functions.


C_ENT  37B7  DEFB $31  duplicate: W, W  
37B8  DEFB $31  duplicate: W, W, W  
37B9  DEFB $04  multiply: W, W*W  
37BA  DEFB $31  duplicate: W, W*W, W*W  
37BB  DEFB $0F  addition: W, 2*W*W  
37BC  DEFB $A1  stk_one: W, 2*W*W, 1  
37BD  DEFB $03  subtract: W, 2*W*W1=Z  
Perform step iii, passing to the series generator the parameter '6' and the six constants required.


37BE  DEFB $86  series_06: W, Z  
37BF  DEFB $14,$E6  
37C1  DEFB $5C,$1F,$0B  
37C4  DEFB $A3,$8F,$38,$EE  
37C8  DEFB $E9,$15,$63,$BB,$23  
37CD  DEFB $EE,$92,$0D,$CD,$ED  
37D2  DEFB $F1,$23,$5D,$1B,$EA  
At the end of the last loop the 'last value' is (SIN (π*W/2))/W.
Perform step iv.


37D7  DEFB $04  multiply: SIN (π*W/2)=SIN X (or COS X)  
37D8  DEFB $38  end_calc  
37D9  RET  Finished: 'last value'=SIN X (or COS X). 
Prev: 37AA  Up: Map 