To clarify my last post, here is an example alias...
alias add {
var %retval | var %stepsum | var %carry 0
var %num1 $1 | var %num2 $2
while (%num1 != $null) || (%num2 != $null) {
set %setsum $calc(%carry + $right(%num1, 1) + $right(%num2, 1))
set %num1 $left(%num1, -1)
set %num2 $left(%num2, -1)
if (%setsum >= 10) { set %carry 1 | dec %setsum 10 }
else { set %carry 0 }
set %retval %setsum $+ %retval
}
if (%carry) { set %retval 1 $+ %retval }
return %retval
}
Adds two integers: $add($str(2, 100), $str(2, 100)) returns 100 4's