home *** CD-ROM | disk | FTP | other *** search
-
- * Maxon C++
- * Library "math_float"
- * Jens Gelhar (Himpelsoft) 19.03.93, 15.04.94, 06.09.94
-
- xdef lib_float_add,lib_float_sub
- xdef lib_float_cmp,lib_float_neg
- xdef lib_float_mult,lib_float_div
- xdef lib_float_tst
- xdef lib_int2float,lib_float2int
- xdef _MathBase,lib_MathFloatBase,GetMathbase
- xdef _INIT_1_Math_floAt_o,_EXIT_1_Math_floAt_o
-
- xref __OpenLib
-
- execbase = 4
- CloseLibrary = -414
-
- SPFix = -30
- SPFlt = -36
- SPCmp = -42
- SPNeg = -60
- SPAdd = -66
- SPSub = -72
- SPMul = -78
- SPDiv = -84
-
- _INIT_1_Math_floAt_o:
- lea mathlibname(pc),a1
- jsr __OpenLib
- move.l d0,_MathBase
- rts
-
- _EXIT_1_Math_floAt_o:
- move.l _MathBase,d0
- beq.b ret
- move.l d0,a1
- move.l execbase.w,a6
- jsr CloseLibrary(a6)
- ret rts
-
- GetMathbase:
- move.l _MathBase,a6
- cmp.l #0,a6
- bne.b ret
- movem.l d0-d3/a0-a2,-(a7)
- bsr.b _INIT_1_Math_floAt_o
- movem.l (a7)+,d0-d3/a0-a2
- bra.b GetMathbase
-
- lib_float_add:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPAdd(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float_sub:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPSub(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float_cmp:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPCmp(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float_neg:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPNeg(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float_mult:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPMul(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float_div:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPDiv(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float_tst:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr -48(a6)
- movem.l (a7)+,a0/a1/a6
- tst.l d0
- rts
-
-
- lib_int2float:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPFlt(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- lib_float2int:
- movem.l a0/a1/a6,-(a7)
- move.l _MathBase,a6
- jsr SPFix(a6)
- movem.l (a7)+,a0/a1/a6
- rts
-
- mathlibname: dc.b 'mathieeesingbas.library',0
-
- SECTION D,DATA
-
- lib_MathFloatBase:
- _MathBase: dc.l 0
-
- end
-