From: Dan <dan@irvine.com>
Subject: extended membership tests
Date: Thu, 31 Mar 2011 00:04:35 -0700 (PDT)
Date: 2011-03-31T00:04:35-07:00 [thread overview]
Message-ID: <7dc23d58-4a48-4444-90cd-7f9786b19aad@i14g2000yqe.googlegroups.com> (raw)
Here's a fun quiz to test your Ada2012 knowledge, based on an
observation by Yannick Moy.
Consider this Ada 2012 procedure:
with ada.containers.ordered_sets;
procedure membership is
package int_sets is new ada.containers.ordered_sets(integer);
function "="(x,y: integer) return boolean is begin return true;
end;
x: integer := 6;
y: integer := 12;
b1: boolean := x in y;
b2: boolean := x in int_sets.to_set(new_item => y);
begin
null;
end;
Which of the following are true:
a) b1 is true because 6 <= 12;
b) b1 is true because abs(6) <= abs(12);
c) b1 is true because 12 is an integer multiple of 6;
d) b1 is true because the binary representation of 6 appears in the
binary representation of 12;
e) b1 is true because x=y is true (using redefined "=");
f) b1 is false because x=y is false (using standard."=");
g) b2 is false because 6 is not in the set containing only the
number 12;
h) the program is illegal because of b1;
i) the program is illegal because of b2.
next reply other threads:[~2011-03-31 7:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-31 7:04 Dan [this message]
2011-03-31 7:34 ` extended membership tests AdaMagica
2011-03-31 7:55 ` Dan
2011-03-31 7:58 ` Dan
2011-03-31 8:05 ` Ludovic Brenta
2011-03-31 9:28 ` AdaMagica
2011-03-31 14:33 ` Robert A Duff
2011-03-31 16:28 ` extended membership tests (branch) Georg Bauhaus
2011-03-31 17:58 ` Robert A Duff
2011-03-31 18:54 ` Adam Beneschan
2011-03-31 21:08 ` Georg Bauhaus
2011-03-31 21:10 ` Randy Brukardt
2011-04-01 5:14 ` extended membership tests AdaMagica
2011-04-01 6:33 ` Dan
2011-04-01 7:03 ` AdaMagica
2011-04-01 9:56 ` stefan-lucks
2011-04-01 15:11 ` Adam Beneschan
2011-04-02 1:22 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox