Fri, Oct 11, 2024 at 08:50:27PM +0200, Vasileios Aoiridis kirjoitti: > On Fri, Oct 11, 2024 at 01:00:33PM +0300, Andy Shevchenko wrote: > > On Thu, Oct 10, 2024 at 11:00:19PM +0200, vamoirid wrote: ... > > > var1 = ((1340 + (5 * (s64)calib->range_sw_err)) * > > > - ((s64)lookupTable[gas_range])) >> 16; > > > + ((s64)lookup_table[gas_range])) >> 16; > > > > Also an opportunity to make this neater like > > > > var1 = (1340 + (5 * (s64)calib->range_sw_err)) * (s64)lookup_table[gas_range]); > > var1 >>= 16; > > > > So, at bare minumym there are redundant parentheses. And looking at the table > > and the first argument of multiplication I'm puzzled why casting is needed for > > the second? Shouldn't s64 already be implied by the first one? > > I think the 2nd cast indeed is not needed since the 1st one forces the > s64 so I can remove it. Thinking about this more, you don't need the first either, if using 5LL instead of 5. -- With Best Regards, Andy Shevchenko