From: CSRG Date: Wed, 20 Aug 1980 05:23:55 +0000 (-0800) Subject: BSD 4_1_snap development X-Git-Tag: BSD-4_1_snap~761 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/d40da66e11ae036744a2223e01ff95fd83d32663 BSD 4_1_snap development Work on file usr/src/lib/libnm/sin.s Synthesized-from: CSRG/cd1/4.1.snap --- diff --git a/usr/src/lib/libnm/sin.s b/usr/src/lib/libnm/sin.s new file mode 100644 index 0000000000..fa6bd040bf --- /dev/null +++ b/usr/src/lib/libnm/sin.s @@ -0,0 +1,55 @@ +# double float sin(),cos() +#coefficients are from Hart & Cheney SIN3370 (18.80D) +.text +.align 1 +.globl _sin +.globl _cos +_sin: + .word 0x03c0 + clrl r9 + movd 4(ap),r0 + jgeq range + movl $2,r9 + jbr negarg + +.align 1 +_cos: + .word 0x0fc0 + movl $1,r9 + movd 4(ap),r0 + jgeq range +negarg: + mnegd r0,r0 + +range: + emodd twoopi,twoopix,r0,r8,r6 + addl2 r9,r8 + bicb2 $~03,r8 + caseb r8,$0,$3 +bse: .word qda-bse,qdb-bse,qdc-bse,qdd-bse +qdb: subd3 r6,$0d1.0e+0,r6 + jbr qda +qdc: mnegd r6,r6 + jbr qda +qdd: subd2 $0d1.0e+0,r6 +qda: + muld3 r6,r6,r8 + polyd r8,$4,pcoef + muld2 r0,r6 + polyd r8,$4,qcoef + divd3 r0,r6,r0 + ret +.data +.align 2 +twoopi:.double 0d6.36619772367581340000e-01 +qcoef:.double 0d1.00000000000000000000e+00 + .double 0d1.32653490878613630000e+02 + .double 0d9.46309610153820810000e+03 + .double 0d4.08179225234329970000e+05 + .double 0d8.64455865292253430000e+06 +pcoef:.double 0d1.45968840666576870000e+02 + .double 0d-1.38472724998245280000e+04 + .double 0d4.40103053537526640000e+05 + .double 0d-4.94290810090284410000e+06 + .double 0d1.35788409787737560000e+07 +twoopix: .byte 0x29