[sane-devel] More Proposed Upgrades
Olaf Meeuwissen
paddy-hack at member.fsf.org
Tue Sep 29 09:41:51 UTC 2015
Yury Tarasievich writes:
> On 09/29/2015 04:25 AM, m. allan noah wrote:
>> I just pushed all of these. I did re-write the microtek2 patch to use
>> the logic I pointed out in a prior mail.
>
> /meaning sequenced `% 2` changed to sequenced '!'/
>
> Isn't this fancy-coding now, though?
>
> I didn't look in the backend and may have
> completely missed the point, however, applying
> %2 to integers would (in gcc) change odd values
> to 1s, even values to 0s, with subsequent
> applications of the routine having no further
> effect.
>
> Your change would interchange not-zeroes and
> zeroes every time.
I *was* going to agree with you wholeheartedly until I looked the '!'
operator up at cppreference.com[1].
[1] http://en.cppreference.com/w/c/language/operator_logical
That, combined with
ms->buf.current_src = 0; /* index to current buffer */
and
uint8_t *src_buffer[2]; /* two buffers because of CCD gap */
/*...*/
int current_src;
and the use of ms->buf.current_src in backend/microtek2.c, made me
change my mind.
I agree with you that rewriting to use 0s and 1s is a clearer way of
preserving the intended meaning of the original expression, the spec
apparently says that !E evaluates to 1 for any scalar E that compares
equal to zero. In that case, both ways are identical.
Hope this helps,
--
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
Support Free Software Support the Free Software Foundation
https://my.fsf.org/donate https://my.fsf.org/join
More information about the sane-devel
mailing list