Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

alias calc2 {

var %k tokenize
%k 32 $1var %o = $str($iif($1 < 0,0,1),$abs($1)),%t = $str($iif($3 < 0,0,1),$abs($3)),
%u = return,%r = -,%b = 0,%a,%; = $len(%o),%' = $len(%t),%: $len(%o $+ %t),%p =
%o,%n = %t
if $2 = + {
if (%o > 0 || (%o = $null)) && (%t > 0 || (%t = $null)) %u %:
elseif %o = 0 && %t > 0 {
%p = %t
%n = %o
}
elseif %o > 0 && %t = 0 {
}
else %u - $+ %:
%u $iif($len(%p) >= $len(%n),$len($left(%p,- $+ $len(%n))),- $+ $len($left(%
n,- $+ $len(%p))))
}
if $2 = - {
if (%o = %a) %u $iif(%t > 0,-) $+ %'
if (%t = %a) %u $iif(%o < 1,-) $+ %;
if %o < 1 && %t < 1 {
if (%' >= %;) %u $len($left(%t,- $+ %;))
%u - $+ $len($left(%o,- $+ %'))
}
if %o < 1 && %t > 0 {
%u - $+ %:
}
if %o > 0 && %t < 1 {
%u %:
}
%u $iif(%' > %;,- $+ $len($left(%t,- $+ %;)),$len($left(%o,- $+ %')))
}
if $2 = / {
if ($1 >= 0 && $3 >= 0) || ($1 < 0 && $3 < 0) {
var %r
}
if $3 = 0 %u
%k 32 $remove($1-3,-) $1
%a = $str(a,$1)
while $len(%a) >= $3 {
%a = $left(%a,- $+ $3)
%b = $round(%b $+ .9,0)
}
%u $int(%r $+ %b) r $int($iif($4 < 0,-) $+ $len(%a))
}
if ($1 >= 0 && $3 >= 0) || ($1 < 0 && $3 < 0) {
var %r
}
%k 32 $remove($1-3,-)
while %b < $3 {
if ($1) bwrite %k -1 -1 %o
%b = $round(%b $+ .9,0)
}
%b = $file(%k)
.remove %k
%u $iif(%b,%r $+ %b,0)
}

You might also like