/ / / FIRST PRINTING, FEBRUARY 1974 / / THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO / CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED / AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPON- / SIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS / DOCUMENT. / / THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FUR- / NISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON / A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH / INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR / USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PRO- / VIDED IN WRITING BY DIGITAL. / / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY / FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIP- / MENT THAT IS NOT SUPPLIED BY DIGITAL. / / COPYRIGHT (C) 1974, BY DIGITAL EQUIPMENT CORPORATION / / .EJECT /COPYRIGHT 1970,1971, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. /EDIT 6 2-27-71 /FOR HARDWARE FLOATING POINT PROCESSOR (FPP), DEFINE % FPP, .TITLE .BE RAISE REAL BASE (A) TO REAL POWER (B) A**B .GLOBL .BE,.CB,.EE,.EF,.ER, .IFUND %FPP .GLOBL .AB,.AK .ENDC .IFUND %FPP .DEFIN FMP%,A JMS* A /FLOATING MULTIPLY (.AK) .ENDM .ENDC .IFDEF %FPP FMP=711440 .DEFIN FMP% FMP .ENDM .ENDC / CALLING SEQUENCE (A//B = EXP(B * LOGE(A))) / JMS* (.BE) SUBR CALL (A IN FLOAT ACC) / CAL/XCT ADDR ADDR OF B (XCT IF INDIRECT) / NEXT INSTRUCTION SUBR RETURN (RESULT IN FLOAT ACC) /DIRECT ASSIGN. FOR FPP .IFDEF %FPP BNA=716610 .ENDC / .BE CAL 0 /ENTRY-EXIT JMS* .CB /SHORT GET ARG (.CB) BE02 CAL 0 /ARG ADDR (B) .IFDEF %FPP BNA /BR ON NON-0 BE07 .ENDC .IFUND %FPP LAC* .AB /GET BASE SZA JMP BE07 .ENDC ISZ BE02 /BUMP PAST EXP. LAC* BE02 /GET EXP. MANTISSA SPA!SNA!CLA /GIVE 0 ANS. FOR EXP>-0 JMS* .ER /OTS 15 AND 15 /DUMMY INSRUCT. JMP* .BE /(50015). ANS=BASE BE07 JMS* .EE /COMPUTE LOG2(A) (.EE) FMP% .AK /MULTIPLY REAL (.AK) .DSA BE05 / (LOG2(A) * LOGE(2) = LOGE(A)) FMP% .AK /MULTIPLY REAL (.AK) .DSA BE02+400000 / (B X LOGE(A)) JMS* .EF /COMPUTE EXP (.EF) (EXP(B * LOGE(A))) JMP* .BE /EXIT BE05 140000 /LOGE(2) (1) (0.6931471806) 261344 / (2) .END