|
|
1.1 ! root 1: # double float sin(),cos() ! 2: #coefficients are from Hart & Cheney SIN3370 (18.80D) ! 3: .text ! 4: .align 1 ! 5: .globl _sin ! 6: .globl _cos ! 7: _sin: ! 8: .word 0x03c0 ! 9: bispsw $0xe0 ! 10: clrl r9 ! 11: movd 4(ap),r0 ! 12: jgeq range ! 13: movl $2,r9 ! 14: jbr negarg ! 15: ! 16: .align 1 ! 17: _cos: ! 18: .word 0x0fc0 ! 19: bispsw $0xe0 ! 20: movl $1,r9 ! 21: movd 4(ap),r0 ! 22: jgeq range ! 23: negarg: ! 24: mnegd r0,r0 ! 25: ! 26: range: ! 27: emodd twoopi,twoopix,r0,r8,r6 ! 28: addl2 r9,r8 ! 29: bicb2 $~03,r8 ! 30: caseb r8,$0,$3 ! 31: bse: .word qda-bse,qdb-bse,qdc-bse,qdd-bse ! 32: qdb: subd3 r6,$0d1.0e+0,r6 ! 33: jbr qda ! 34: qdc: mnegd r6,r6 ! 35: jbr qda ! 36: qdd: subd2 $0d1.0e+0,r6 ! 37: qda: ! 38: muld3 r6,r6,r8 ! 39: polyd r8,$4,pcoef ! 40: muld2 r0,r6 ! 41: polyd r8,$4,qcoef ! 42: divd3 r0,r6,r0 ! 43: ret ! 44: .data ! 45: .align 2 ! 46: twoopi:.double 0d6.36619772367581340000e-01 ! 47: qcoef:.double 0d1.00000000000000000000e+00 ! 48: .double 0d1.32653490878613630000e+02 ! 49: .double 0d9.46309610153820810000e+03 ! 50: .double 0d4.08179225234329970000e+05 ! 51: .double 0d8.64455865292253430000e+06 ! 52: pcoef:.double 0d1.45968840666576870000e+02 ! 53: .double 0d-1.38472724998245280000e+04 ! 54: .double 0d4.40103053537526640000e+05 ! 55: .double 0d-4.94290810090284410000e+06 ! 56: .double 0d1.35788409787737560000e+07 ! 57: twoopix: .byte 0x29
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.