|
|
1.1 ! root 1: /* Klogf.s 1.3 86/01/05 */ ! 2: ! 3: #include "../tahoe/SYS.h" ! 4: ! 5: .text ! 6: ENTRY(Klogf, R5|R4|R3|R2) ! 7: subl3 $88,fp,sp ! 8: clrl 8(fp) ! 9: tstl 4(fp) ! 10: jgtr L53 ! 11: movl small+4,r1 ! 12: movl small,r0 ! 13: ret ! 14: L53: pushl 20(fp) # hfs ! 15: subl3 $88,fp,-(sp) # &exp ! 16: pushl 8(fp) # arg ! 17: pushl 4(fp) ! 18: callf $20,_Kfrexpf ! 19: ldd r0 ! 20: # movl r1,-56(fp) ! 21: std -60(fp) # movl r0,-60(fp) ! 22: jbr L55 ! 23: L2000001: ! 24: pushl 20(fp) # hfs ! 25: ldd two # 2.0 ! 26: pushd ! 27: ldd -60(fp) # x ! 28: pushd ! 29: callf $24,_Kmuld ! 30: ldd r0 ! 31: std -60(fp) ! 32: subl2 $1,-88(fp) ! 33: L55: cmpd2 -60(fp),half ! 34: jlss L2000001 ! 35: cmpd2 -60(fp),_sqrto2 ! 36: jgeq L59 ! 37: pushl 20(fp) # hfs ! 38: ldd -60(fp) # x ! 39: pushd ! 40: ldd two # 2.0 ! 41: pushd ! 42: callf $24,_Kmuld ! 43: ldd r0 ! 44: std -60(fp) ! 45: subl2 $1,-88(fp) ! 46: L59: pushl 20(fp) # hfs ! 47: ldd one # 1.0 ! 48: pushd ! 49: ldd -60(fp) # x ! 50: pushd ! 51: callf $24,_Ksubd ! 52: ldd r0 ! 53: std r2 ! 54: pushl 20(fp) # hfs ! 55: ldd one # 1.0 ! 56: pushd ! 57: ldd -60(fp) # x ! 58: pushd ! 59: callf $24,_Kaddd ! 60: ldd r0 ! 61: std r4 ! 62: pushl 20(fp) # hfs ! 63: ldd r4 # temp result of x-1 ! 64: pushd ! 65: ldd r2 # temp result of x+1 ! 66: pushd ! 67: callf $24,_Kdivd ! 68: ldd r0 ! 69: std -68(fp) # z ! 70: pushl 20(fp) # hfs ! 71: pushd # z ! 72: pushd # z ! 73: callf $24,_Kmuld ! 74: ldd r0 ! 75: std -76(fp) # zsq ! 76: pushl 20(fp) # hfs ! 77: ldd -76(fp) # zsq ! 78: pushd ! 79: ldd _p1 # p1 ! 80: pushd ! 81: callf $24,_Kmuld ! 82: ldd r0 ! 83: std r2 ! 84: pushl 20(fp) # hfs ! 85: ldd _p0 # p0 ! 86: pushd ! 87: ldd r2 ! 88: pushd ! 89: callf $24,_Kaddd ! 90: ldd r0 ! 91: std -84(fp) # temp ! 92: pushl 20(fp) # hfs ! 93: ldd -76(fp) # zsq ! 94: pushd ! 95: ldd _q1 ! 96: pushd ! 97: callf $24,_Kmuld ! 98: ldd r0 ! 99: std r2 ! 100: pushl 20(fp) # hfs ! 101: ldd _q0 # q0 ! 102: pushd ! 103: ldd r2 ! 104: pushd ! 105: callf $24,_Kaddd ! 106: ldd r0 ! 107: std r2 # temp result of (q1*zsq+q0) ! 108: pushl 20(fp) # hfs ! 109: ldd r2 ! 110: pushd ! 111: ldd -84(fp) # temp ! 112: pushd ! 113: callf $24,_Kdivd ! 114: ldd r0 ! 115: std -84(fp) # put in temp ! 116: pushl 20(fp) # hfs ! 117: ldd -68(fp) # z ! 118: pushd ! 119: ldd -84(fp) ! 120: pushd ! 121: callf $24,_Kmuld ! 122: ldd r0 ! 123: std r2 ! 124: pushl 20(fp) #hfs ! 125: pushl $0 # 0 pad ! 126: pushl -88(fp) # exp ! 127: pushl $0 # dummy ! 128: pushl $0 # dummy ! 129: callf $24,_Kcvtld ! 130: pushl 20(fp) # hfs ! 131: ldd _log2 # log2 ! 132: pushd ! 133: pushl r1 # exp converted ! 134: pushl r0 ! 135: callf $24,_Kmuld ! 136: ldd r0 ! 137: std r4 ! 138: pushl 20(fp) # hfs ! 139: ldd r2 # result of temp*z ! 140: pushd ! 141: ldd r4 ! 142: pushd ! 143: callf $24,_Kaddd ! 144: ldd r0 ! 145: cvdf ! 146: stf r0 ! 147: clrl r1 ! 148: ret ! 149: ! 150: .data ! 151: .align 2 ! 152: _log2: .long 0x40317217, 0xf7d1cf7a # .double 0.69314718055994531 ! 153: _ln10: .long 0x41135d8d, 0xddaaa8ac # .double 2.3025850929940457 ! 154: _sqrto2:.long 0x403504f3, 0x33f9de65 # .double 0.70710678118654753 ! 155: _p0: .long 0xc154114d, 0xeb0ba468 # .double -3.31355617479 ! 156: _p1: .long 0x40654226, 0x56bd0c4c # .double 0.89554061525 ! 157: _q0: .long 0xc0d4114c, 0xfdc7df02 # .double -1.65677797691 ! 158: _q1: .long 0x40800000, 0x00000000 # .double 1 ! 159: small: .long 0xfffffffe, 0xfffffffe # .double -1.7014117331926443e+38 ! 160: half: .long 0x40000000, 0x00000000 # .double 0.5 ! 161: two: .long 0x41000000, 0x00000000 # .double 2 ! 162: one: .long 0x40800000, 0x00000000 # .double 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.