Annotation of 43BSD/usr.lib/liboldnm/sinh.s, revision 1.1

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: #      @(#)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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.