Update of /cvsroot/nice/Nice/testsuite/compiler/methods
In directory sc8-pr-cvs1:/tmp/cvs-serv7825/testsuite/compiler/methods
Added Files:
boolean.testsuite
Log Message:
Dispatch on boolean values: @true and @false (by Arjan).
--- NEW FILE: boolean.testsuite ---
/// PASS
assert not(true) == false;
assert not(false) == true;
/// Toplevel
boolean not(boolean);
not(b@boolean) = !b;
/// PASS
assert and(false, false) == false;
assert and(false, true ) == false;
assert and(true , false) == false;
assert and(true , true ) == true;
/// Toplevel
boolean and(boolean, boolean);
and(@boolean, @boolean) = false;
and(@true, @true) = true;
/// PASS
/// Toplevel
boolean xor(boolean, boolean);
xor(@true, @true) = false;
xor(@true, @false) = true;
xor(@false, @true) = true;
xor(@false, @false) = false;
/// FAIL
/// Toplevel
boolean or(boolean, boolean);
// Ambiguity for the case (@true, @true)
or(@true, @boolean) = true;
or(@boolean, @true) = true;
or(@false, @false) = false;
/// FAIL
/// Toplevel
boolean nor(boolean, boolean);
nor(@true, @true) = false;
nor(@true, @false) = false;
//nor(@false, @true) = false; // This case is missing.
nor(@false, @false) = true;
|