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: #	@(#)sinh.s	5.1 (Berkeley) 5/8/85
   7: #
   8: #
   9: # double _sinh(arg)
  10: # double _cosh(arg)
  11: # double arg
  12: # method: compute from exp except for sinh where -.5<arg<.5
  13: # then a polynimial approx. is uded
  14: # JF Jarvis, August 12,1978
  15: .globl _sinh
  16: .globl _cosh
  17: .globl _exp
  18: .text
  19: .align 1
  20: _sinh:
  21:         .word   0x0c0
  22:         bispsw  $0xe0
  23:         movd    4(ap),r6
  24:         cmpd    r6,$0d0.5e+0
  25:         jgeq    expfrm
  26:         cmpd    r6,$0d-0.5e+0
  27:         jleq    expfrm
  28:         muld3   r6,r6,r0        # Hart&Cheney SINH 1985
  29:         polyd   r0,$5,pcoef
  30:         muld2   r6,r0
  31:         ret
  32: expfrm:
  33:         movd    r6,-(sp)        # sinh(x)=(exp(x)-exp(-x))/2
  34:         calls   $2,_exp
  35:         divd3   r0,$0d1.0e+0,r2
  36:         subd2   r2,r0
  37:         muld2   $0d0.5e+0,r0
  38:         ret
  39: .align 1
  40: _cosh:
  41:         .word   0x0
  42:         bispsw  $0xe0
  43:         movd    4(ap),-(sp)
  44:         calls   $2,_exp
  45:         divd3   r0,$0d1.0e+0,r2
  46:         addd2   r2,r0
  47:         muld2   $0d0.5e+0,r0
  48:         ret
  49: .data
  50: .align  2
  51: pcoef:
  52:         .double 0d0.251726188251e-7
  53:         .double 0d0.275569807356154e-5
  54:         .double 0d0.1984127027907999e-3
  55:         .double 0d0.833333333307759961e-2
  56:         .double 0d0.16666666666667212324e+0
  57:         .double 0d0.99999999999999998116e+0

Defined functions

expfrm defined in line 32; used 2 times

Defined variables

pcoef defined in line 51; used 1 times
  • in line 29
Last modified: 1985-05-08
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 903
Valid CSS Valid XHTML 1.0 Strict