>One approach would be to "dither" the rounding by simply adding 1 or adding >0 on alternate iterations. I think that there is no way to make that low pass function span the entire output domain. Because the math specifies an asymptotical approach of the output value to the input value and asymptotes do not exist in the integer math world. I also think that the fiddling with conditional clauses will introduce points of discontinuity into the mapping function and if this is a part of a servo or some control loop it may react strangely to those points. Peter -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu