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