This is very simple set of function for swapping two sets of variables.
Test code :
LOCAL a1%,b1%
LOCAL a2,b2
LOCAL a3$,b3$
a1%=12
b1%=15
DEBUG "A1% : "+a1%+" B1% : "+b1%+"\n"
swapI(a1%,b1%)
DEBUG "A1% : "+a1%+" B1% : "+b1%+"\n"
a2=12.2
b2=-19.0
DEBUG "A2 : "+a2+" B2 : "+b2+"\n"
swapF(a2,b2)
DEBUG "A2 : "+a2+" B2 : "+b2+"\n"
a3$="This is a test"
b3$="This is not a test"
DEBUG "A3 : "+a3$+" B3 : "+b3$+"\n"
swapS(a3$,b3$)
DEBUG "A3 : "+a3$+" B3 : "+b3$+"\n"
END
Main code :
FUNCTION swapI:BYREF a%,BYREF b%
LOCAL c%
c%=a%
a%=b%
b%=c%
ENDFUNCTION
FUNCTION swapF:BYREF a,BYREF b
LOCAL c
c=a
a=b
b=c
ENDFUNCTION
FUNCTION swapS:BYREF a$,BYREF b$
LOCAL c$
c$=a$
a$=b$
b$=c$
ENDFUNCTION