function floor takes real r returns real
local real add = 0.00
if (r < 0.00) or (I2R(R2I(r)) == r) then
set add = -1.00
endif
return I2R(R2I(r+add))
endfunction
function ceiling takes real r returns real
local real add = 0.00
if (r < 0.00) or (I2R(R2I(r)) == r) then
set add = -1.00
endif
return I2R(R2I(r+1.00+add))
endfunction
function round takes real r returns real
local real add = 0.00
if (r < 0.00) or (I2R(R2I(r)) == r) then
set add = -1.00
endif
return I2R(R2I(r+0.50+add))
endfunction