Continued fraction: Difference between revisions

Content added Content deleted
(Added solution for Action!)
Line 38: Line 38:
<lang Action!>INCLUDE "D2:REAL.ACT" ;from the Action! Tool Kit
<lang Action!>INCLUDE "D2:REAL.ACT" ;from the Action! Tool Kit


DEFINE PTR="CARD"
DEFINE JSR="$20"
DEFINE JSR="$20"
DEFINE RTS="$60"
DEFINE RTS="$60"
Line 45: Line 46:
RTS]
RTS]


CARD FUNC CoeffB=*(INT n REAL POINTER res)
PROC CoeffB=*(INT n REAL POINTER res)
[JSR $00 $00 ;JSR to address set by SetCoeffB
[JSR $00 $00 ;JSR to address set by SetCoeffB
RTS]
RTS]


PROC SetCoeffA(CARD ptr)
PROC SetCoeffA(PTR p)
CARD addr
PTR addr


addr=CoeffA+1 ;location of address of JSR
addr=CoeffA+1 ;location of address of JSR
PokeC(addr,ptr)
PokeC(addr,p)
RETURN
RETURN


PROC SetCoeffB(CARD ptr)
PROC SetCoeffB(PTR p)
CARD addr
PTR addr


addr=CoeffB+1 ;location of address of JSR
addr=CoeffB+1 ;location of address of JSR
PokeC(addr,ptr)
PokeC(addr,p)
RETURN
RETURN


PROC Calc(CARD funA,funB,count REAL POINTER res)
PROC Calc(PTR funA,funB INT count REAL POINTER res)
INT i
INT i
REAL a,b,tmp
REAL a,b,tmp