New Math

Geoff Canyon Rev gcanyon+rev at gmail.com
Sat Feb 18 20:34:46 EST 2012


Not exactly one line, but this works for all the combinations I could think
of:

function incTo x,i -- increments x to the next i
   if i = 0 then
      return x
   else if x mod i <> 0 and x * i < 0 then
      return x div i * i
   else
      return x div i * i + i
   end if
end incTo

Here's my test results. First column is x, second is i, third is expected
result, fourth is actual result, fifth is whether test passed:

30 20 40 40 true
20 20 40 40 true
30 -20 20 20 true
40 -20 20 20 true
-30 20 -20 -20 true
-20 20 0 0 true
-30 -20 -40 -40 true
-20 -20 -40 -40 true
0 20 20 20 true
0 -20 -20 -20 true
-30 0 -30 -30 true



More information about the use-livecode mailing list