On Wed, Dec 22, 2021 at 02:38:13PM +0200, Andy Shevchenko wrote: > On Wed, Dec 22, 2021 at 5:47 AM Liam Beguin <liambeguin@xxxxxxxxx> wrote: > > > > From: Liam Beguin <lvb@xxxxxxxxxx> > > > > The iio-rescale driver supports various combinations of scale types and > > offsets. These can often result in large integer multiplications. Make > > sure these calculations are done right by adding a set of kunit test > > cases that build on top of iio-test-format. > > ... > > > + int fract_mult = 100000000LL; > > Perhaps also change to use the prefix? Argh.. I missed this file. Sorry, will update. > ... > > > + *nano = (s64)tmp * 10 * fract_mult + tmp2; > > I'm also puzzled what the meaning of the 10 is here? That comes from iio_str_to_fixpoint(). I sould've added a comment to make it more explicit as details escape me right now... Will fix. > ... > > > + err = 1000000 * abs(exp - real); > > Prefix? Ok > ... > > > + err = div64_u64(err, abs(exp)); > > + return (int)err; > > return div64_u64(); will do. Cheers, Liam > -- > With Best Regards, > Andy Shevchenko