From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5081b691b6105830 X-Google-Attributes: gid103376,public From: stt@henning.camb.inmet.com (Tucker Taft) Subject: Re: one's complement operator in Ada Date: 1996/07/26 Message-ID: #1/1 X-Deja-AN: 170673408 sender: news@inmet.camb.inmet.com (USENET news) x-nntp-posting-host: henning.camb.inmet.com references: <31F8DE73.41C6@afit.af.mil> organization: Intermetrics, Inc. newsgroups: comp.lang.ada Date: 1996-07-26T00:00:00+00:00 List-Id: Ding-yuan Sheu (dsheu@afit.af.mil) wrote: : I am working on a project to convert a C++ program into Ada95. : I try to find a easy way to achieve the effect of '~' (one's complement : operator) in C++. I wonder if there is a good way to obtain the same : result in Ada without programming it as a procedure or function. The "not" operator on modular integer types (presuming the modulus is a power of 2) is equivalent to one's complement. : For example, in C++: : ulong mask; : : : : : ulong j:= ~mask; : How can I convert this partical code into Ada in a "easy" way? type Unsigned_Long is mod 2**32; ... Mask : Unsigned_Long; ... J : Unsigned_Long := not Mask; : I'll appreciate any help. Thanks in advance. I hope the above helps. In general, the bit-wise operators ~, &, |, ^ in C/C++ map directly to "not", "and", "or", and "xor" in Ada 95, and are defined for boolean, array-of-boolean, and modular. : Steven ( dsheu@afit.af.mil ) -Tucker Taft stt@inmet.com http://www.inmet.com/~stt/ Intermetrics, Inc. Cambridge, MA USA