value range propagation for _bitwise_ OR
"Jérôme M. Berger"
jeberger at free.fr
Mon Apr 12 10:49:02 PDT 2010
Steven Schveighoffer wrote:
> I'll work on signed values tomorrow :)
>
Signed values are trivial:
int maxOr (int minA, int minB, int maxA, int maxB)
{
if ((minA < 0) && (maxA >= 0))
return max (maxOr (minA, minB, -1, maxB),
maxOr (0, minB, maxA, maxB));
if ((minB < 0) && (maxB >= 0))
return max (maxOr (minA, minB, maxA, -1),
maxOr (minA, 0, maxA, maxB));
return (int)maxOr ((uint)minA, (uint)minB,
(uint)maxA, (uint)maxB);
}
Jerome
--
mailto:jeberger at free.fr
http://jeberger.free.fr
Jabber: jeberger at jabber.fr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20100412/845e5687/attachment.pgp>
More information about the Digitalmars-d
mailing list