Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!apple!bionet!ames!think!kulla!barmar
From: barmar@kulla (Barry Margolin)
Newsgroups: comp.lang.c
Subject: Re: C history question
Keywords: C design, XOR
Message-ID: <30239@news.Think.COM>
Date: 27 Sep 89 23:16:29 GMT
References: <10390@phoenix.Princeton.EDU> <29557@news.Think.COM> <883@friar-taac.UUCP>
Sender: news@Think.COM
Reply-To: barmar@kulla.UUCP (Barry Margolin)
Organization: Thinking Machines Corporation, Cambridge MA, USA
Lines: 19

In article <883@friar-taac.UUCP> matthew@friar-taac.UUCP (Matthew Stier - Sun Visualization Products) writes:
>In article <29557@news.Think.COM> barmar@think.COM (Barry Margolin) writes:
>|	allok = allok && a[i++] > b[j++]
>|then the side effects on i and j would be different from
>|	allok &= a[i++] > b[j++]
>|The first must NOT increment i and j when allok is true, while the
>|second MUST increment them in any case.
>Would you like to reword your last sentence?

I'll try.  I see I got the first clause backward, as well as using
confusing wording.

In the first case, i and j are incremented IF AND ONLY IF allok was
true.  In the second case, i and j must ALWAYS be incremented,
regardless of the old value of allok.
Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar