* MathTrans.asm (of PCQ Pascal runtime library) * Copyright (c) 1989 Patrick Quaid * This file implements the routines found in MathTrans.i * The only interesting ones are the opening and closing * of the library. SECTION MATHTRANS XREF _AbsExecBase XREF _LVOOpenLibrary XREF _LVOCloseLibrary XREF _LVORemLibrary XREF _LVOSPAsin XREF _LVOSPAcos XREF _LVOSPAtan XREF _LVOSPSin XREF _LVOSPCos XREF _LVOSPTan XREF _LVOSPSincos XREF _LVOSPSinh XREF _LVOSPCosh XREF _LVOSPTanh XREF _LVOSPExp XREF _LVOSPLog XREF _LVOSPLog10 XREF _LVOSPPow XREF _LVOSPSqrt XREF _LVOSPTieee XREF _LVOSPFieee XDEF _OpenMathTrans _OpenMathTrans move.l #mathtransname,a1 moveq.l #0,d0 move.l _AbsExecBase,a6 jsr _LVOOpenLibrary(a6) move.l d0,_p%MathTransBase beq.s 1$ move.b #-1,d0 1$ rts XDEF _CloseMathTrans _CloseMathTrans move.l _p%MathTransBase,a1 move.l _AbsExecBase,a6 jsr _LVOCloseLibrary(a6) move.l #0,_p%MathTransBase rts XDEF _FlushMathTrans _FlushMathTrans move.l _p%MathTransBase,a1 move.l a1,d0 beq.s 1$ move.l _AbsExecBase,a6 jsr _LVORemLibrary(a6) bra _CloseMathTrans 1$ rts XDEF _SPAsin _SPAsin move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPAsin(a6) rts XDEF _SPAcos _SPAcos move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPAcos(a6) rts XDEF _SPAtan _SPAtan move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPAtan(a6) rts XDEF _SPSin _SPSin move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPSin(a6) rts XDEF _SPCos _SPCos move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPCos(a6) rts XDEF _SPTan _SPTan move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPTan(a6) rts XDEF _SPSincos _SPSincos move.l 8(sp),d1 move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPSincos(a6) rts XDEF _SPSinh _SPSinh move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPSinh(a6) rts XDEF _SPCosh _SPCosh move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPCosh(a6) rts XDEF _SPTanh _SPTanh move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPTanh(a6) rts XDEF _SPExp _SPExp move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPExp(a6) rts XDEF _SPLog _SPLog move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPLog(a6) rts XDEF _SPLog10 _SPLog10 move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPLog10(a6) rts XDEF _SPPow _SPPow move.l 8(sp),d1 move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPPow(a6) rts XDEF _SPSqrt _SPSqrt move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPSqrt(a6) rts XDEF _SPTieee _SPTieee move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPTieee(a6) rts XDEF _SPFieee _SPFieee move.l 4(sp),d0 move.l _p%MathTransBase,a6 jsr _LVOSPFieee(a6) rts SECTION MTB,DATA _p%MathTransBase dc.l 0 mathtransname dc.b 'mathtrans.library',0 END