blob: f931e1ab8fbf23116c5f32cb2926852052dcc556 [file] [log] [blame]
description(
"Tests loop codegen when the condition is a logical node."
);
function while_or_eq()
{
var a = 0;
while (a == 0 || a == 0)
return true;
return false;
}
shouldBeTrue("while_or_eq()");
function while_or_neq()
{
var a = 0;
while (a != 1 || a != 1)
return true;
return false;
}
shouldBeTrue("while_or_neq()");
function while_or_less()
{
var a = 0;
while (a < 1 || a < 1)
return true;
return false;
}
shouldBeTrue("while_or_less()");
function while_or_lesseq()
{
var a = 0;
while (a <= 1 || a <= 1)
return true;
return false;
}
shouldBeTrue("while_or_lesseq()");
function while_and_eq()
{
var a = 0;
while (a == 0 && a == 0)
return true;
return false;
}
shouldBeTrue("while_and_eq()");
function while_and_neq()
{
var a = 0;
while (a != 1 && a != 1)
return true;
return false;
}
shouldBeTrue("while_and_neq()");
function while_and_less()
{
var a = 0;
while (a < 1 && a < 1)
return true;
return false;
}
shouldBeTrue("while_and_less()");
function while_and_lesseq()
{
var a = 0;
while (a <= 1 && a <= 1)
return true;
return false;
}
shouldBeTrue("while_and_lesseq()");
function for_or_eq()
{
for (var a = 0; a == 0 || a == 0; )
return true;
return false;
}
shouldBeTrue("for_or_eq()");
function for_or_neq()
{
for (var a = 0; a != 1 || a != 1; )
return true;
return false;
}
shouldBeTrue("for_or_neq()");
function for_or_less()
{
for (var a = 0; a < 1 || a < 1; )
return true;
return false;
}
shouldBeTrue("for_or_less()");
function for_or_lesseq()
{
for (var a = 0; a <= 1 || a <= 1; )
return true;
return false;
}
shouldBeTrue("for_or_lesseq()");
function for_and_eq()
{
for (var a = 0; a == 0 && a == 0; )
return true;
return false;
}
shouldBeTrue("for_and_eq()");
function for_and_neq()
{
for (var a = 0; a != 1 && a != 1; )
return true;
return false;
}
shouldBeTrue("for_and_neq()");
function for_and_less()
{
for (var a = 0; a < 1 && a < 1; )
return true;
return false;
}
shouldBeTrue("for_and_less()");
function for_and_lesseq()
{
for (var a = 0; a <= 1 && a <= 1; )
return true;
return false;
}
shouldBeTrue("for_and_lesseq()");
function dowhile_or_eq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a == 0 || a == 0)
return false;
}
shouldBeTrue("dowhile_or_eq()");
function dowhile_or_neq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a != 1 || a != 1)
return false;
}
shouldBeTrue("dowhile_or_neq()");
function dowhile_or_less()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a < 1 || a < 1)
return false;
}
shouldBeTrue("dowhile_or_less()");
function dowhile_or_lesseq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a <= 1 || a <= 1)
return false;
}
shouldBeTrue("dowhile_or_lesseq()");
function dowhile_and_eq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a == 0 && a == 0)
return false;
}
shouldBeTrue("dowhile_and_eq()");
function dowhile_and_neq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a != 1 && a != 1)
return false;
}
shouldBeTrue("dowhile_and_neq()");
function dowhile_and_less()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a < 1 && a < 1)
return false;
}
shouldBeTrue("dowhile_and_less()");
function dowhile_and_lesseq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (a <= 1 && a <= 1)
return false;
}
shouldBeTrue("dowhile_and_lesseq()");
function while_not_or_eq()
{
var a = 0;
while (!(a == 0 || a == 0))
return true;
return false;
}
shouldBeFalse("while_not_or_eq()");
function while_not_or_neq()
{
var a = 0;
while (!(a != 1 || a != 1))
return true;
return false;
}
shouldBeFalse("while_not_or_neq()");
function while_not_or_less()
{
var a = 0;
while (!(a < 1 || a < 1))
return true;
return false;
}
shouldBeFalse("while_not_or_less()");
function while_not_or_lesseq()
{
var a = 0;
while (!(a <= 1 || a <= 1))
return true;
return false;
}
shouldBeFalse("while_not_or_lesseq()");
function while_not_and_eq()
{
var a = 0;
while (!(a == 0 && a == 0))
return true;
return false;
}
shouldBeFalse("while_not_and_eq()");
function while_not_and_neq()
{
var a = 0;
while (!(a != 1 && a != 1))
return true;
return false;
}
shouldBeFalse("while_not_and_neq()");
function while_not_and_less()
{
var a = 0;
while (!(a < 1 && a < 1))
return true;
return false;
}
shouldBeFalse("while_not_and_less()");
function while_not_and_lesseq()
{
var a = 0;
while (!(a <= 1 && a <= 1))
return true;
return false;
}
shouldBeFalse("while_not_and_lesseq()");
function for_not_or_eq()
{
for (var a = 0; !(a == 0 || a == 0); )
return true;
return false;
}
shouldBeFalse("for_not_or_eq()");
function for_not_or_neq()
{
for (var a = 0; !(a != 1 || a != 1); )
return true;
return false;
}
shouldBeFalse("for_not_or_neq()");
function for_not_or_less()
{
for (var a = 0; !(a < 1 || a < 1); )
return true;
return false;
}
shouldBeFalse("for_not_or_less()");
function for_not_or_lesseq()
{
for (var a = 0; !(a <= 1 || a <= 1); )
return true;
return false;
}
shouldBeFalse("for_not_or_lesseq()");
function for_not_and_eq()
{
for (var a = 0; !(a == 0 && a == 0); )
return true;
return false;
}
shouldBeFalse("for_not_and_eq()");
function for_not_and_neq()
{
for (var a = 0; !(a != 1 && a != 1); )
return true;
return false;
}
shouldBeFalse("for_not_and_neq()");
function for_not_and_less()
{
for (var a = 0; !(a < 1 && a < 1); )
return true;
return false;
}
shouldBeFalse("for_not_and_less()");
function for_not_and_lesseq()
{
for (var a = 0; !(a <= 1 && a <= 1); )
return true;
return false;
}
shouldBeFalse("for_not_and_lesseq()");
function dowhile_not_or_eq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a == 0 || a == 0))
return false;
}
shouldBeFalse("dowhile_not_or_eq()");
function dowhile_not_or_neq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a != 1 || a != 1))
return false;
}
shouldBeFalse("dowhile_not_or_neq()");
function dowhile_not_or_less()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a < 1 || a < 1))
return false;
}
shouldBeFalse("dowhile_not_or_less()");
function dowhile_not_or_lesseq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a <= 1 || a <= 1))
return false;
}
shouldBeFalse("dowhile_not_or_lesseq()");
function dowhile_not_and_eq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a == 0 && a == 0))
return false;
}
shouldBeFalse("dowhile_not_and_eq()");
function dowhile_not_and_neq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a != 1 && a != 1))
return false;
}
shouldBeFalse("dowhile_not_and_neq()");
function dowhile_not_and_less()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a < 1 && a < 1))
return false;
}
shouldBeFalse("dowhile_not_and_less()");
function dowhile_not_and_lesseq()
{
var a = 0;
var i = 0;
do {
if (i > 0)
return true;
i++;
} while (!(a <= 1 && a <= 1))
return false;
}
shouldBeFalse("dowhile_not_and_lesseq()");
function float_while_or_eq()
{
var a = 0.1;
while (a == 0.1 || a == 0.1)
return true;
return false;
}
shouldBeTrue("float_while_or_eq()");
function float_while_or_neq()
{
var a = 0.1;
while (a != 1.1 || a != 1.1)
return true;
return false;
}
shouldBeTrue("float_while_or_neq()");
function float_while_or_less()
{
var a = 0.1;
while (a < 1.1 || a < 1.1)
return true;
return false;
}
shouldBeTrue("float_while_or_less()");
function float_while_or_lesseq()
{
var a = 0.1;
while (a <= 1.1 || a <= 1.1)
return true;
return false;
}
shouldBeTrue("float_while_or_lesseq()");
function float_while_and_eq()
{
var a = 0.1;
while (a == 0.1 && a == 0.1)
return true;
return false;
}
shouldBeTrue("float_while_and_eq()");
function float_while_and_neq()
{
var a = 0.1;
while (a != 1.1 && a != 1.1)
return true;
return false;
}
shouldBeTrue("float_while_and_neq()");
function float_while_and_less()
{
var a = 0.1;
while (a < 1.1 && a < 1.1)
return true;
return false;
}
shouldBeTrue("float_while_and_less()");
function float_while_and_lesseq()
{
var a = 0.1;
while (a <= 1.1 && a <= 1.1)
return true;
return false;
}
shouldBeTrue("float_while_and_lesseq()");
function float_for_or_eq()
{
for (var a = 0.1; a == 0.1 || a == 0.1; )
return true;
return false;
}
shouldBeTrue("float_for_or_eq()");
function float_for_or_neq()
{
for (var a = 0.1; a != 1.1 || a != 1.1; )
return true;
return false;
}
shouldBeTrue("float_for_or_neq()");
function float_for_or_less()
{
for (var a = 0.1; a < 1.1 || a < 1.1; )
return true;
return false;
}
shouldBeTrue("float_for_or_less()");
function float_for_or_lesseq()
{
for (var a = 0.1; a <= 1.1 || a <= 1.1; )
return true;
return false;
}
shouldBeTrue("float_for_or_lesseq()");
function float_for_and_eq()
{
for (var a = 0.1; a == 0.1 && a == 0.1; )
return true;
return false;
}
shouldBeTrue("float_for_and_eq()");
function float_for_and_neq()
{
for (var a = 0.1; a != 1.1 && a != 1.1; )
return true;
return false;
}
shouldBeTrue("float_for_and_neq()");
function float_for_and_less()
{
for (var a = 0.1; a < 1.1 && a < 1.1; )
return true;
return false;
}
shouldBeTrue("float_for_and_less()");
function float_for_and_lesseq()
{
for (var a = 0.1; a <= 1.1 && a <= 1.1; )
return true;
return false;
}
shouldBeTrue("float_for_and_lesseq()");
function float_dowhile_or_eq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a == 0.1 || a == 0.1)
return false;
}
shouldBeTrue("float_dowhile_or_eq()");
function float_dowhile_or_neq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a != 1.1 || a != 1.1)
return false;
}
shouldBeTrue("float_dowhile_or_neq()");
function float_dowhile_or_less()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a < 1.1 || a < 1.1)
return false;
}
shouldBeTrue("float_dowhile_or_less()");
function float_dowhile_or_lesseq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a <= 1.1 || a <= 1.1)
return false;
}
shouldBeTrue("float_dowhile_or_lesseq()");
function float_dowhile_and_eq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a == 0.1 && a == 0.1)
return false;
}
shouldBeTrue("float_dowhile_and_eq()");
function float_dowhile_and_neq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a != 1.1 && a != 1.1)
return false;
}
shouldBeTrue("float_dowhile_and_neq()");
function float_dowhile_and_less()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a < 1.1 && a < 1.1)
return false;
}
shouldBeTrue("float_dowhile_and_less()");
function float_dowhile_and_lesseq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (a <= 1.1 && a <= 1.1)
return false;
}
shouldBeTrue("float_dowhile_and_lesseq()");
function float_while_not_or_eq()
{
var a = 0.1;
while (!(a == 0.1 || a == 0.1))
return true;
return false;
}
shouldBeFalse("float_while_not_or_eq()");
function float_while_not_or_neq()
{
var a = 0.1;
while (!(a != 1.1 || a != 1.1))
return true;
return false;
}
shouldBeFalse("float_while_not_or_neq()");
function float_while_not_or_less()
{
var a = 0.1;
while (!(a < 1.1 || a < 1.1))
return true;
return false;
}
shouldBeFalse("float_while_not_or_less()");
function float_while_not_or_lesseq()
{
var a = 0.1;
while (!(a <= 1.1 || a <= 1.1))
return true;
return false;
}
shouldBeFalse("float_while_not_or_lesseq()");
function float_while_not_and_eq()
{
var a = 0.1;
while (!(a == 0.1 && a == 0.1))
return true;
return false;
}
shouldBeFalse("float_while_not_and_eq()");
function float_while_not_and_neq()
{
var a = 0.1;
while (!(a != 1.1 && a != 1.1))
return true;
return false;
}
shouldBeFalse("float_while_not_and_neq()");
function float_while_not_and_less()
{
var a = 0.1;
while (!(a < 1.1 && a < 1.1))
return true;
return false;
}
shouldBeFalse("float_while_not_and_less()");
function float_while_not_and_lesseq()
{
var a = 0.1;
while (!(a <= 1.1 && a <= 1.1))
return true;
return false;
}
shouldBeFalse("float_while_not_and_lesseq()");
function float_for_not_or_eq()
{
for (var a = 0.1; !(a == 0.1 || a == 0.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_or_eq()");
function float_for_not_or_neq()
{
for (var a = 0.1; !(a != 1.1 || a != 1.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_or_neq()");
function float_for_not_or_less()
{
for (var a = 0.1; !(a < 1.1 || a < 1.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_or_less()");
function float_for_not_or_lesseq()
{
for (var a = 0.1; !(a <= 1.1 || a <= 1.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_or_lesseq()");
function float_for_not_and_eq()
{
for (var a = 0.1; !(a == 0.1 && a == 0.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_and_eq()");
function float_for_not_and_neq()
{
for (var a = 0.1; !(a != 1.1 && a != 1.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_and_neq()");
function float_for_not_and_less()
{
for (var a = 0.1; !(a < 1.1 && a < 1.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_and_less()");
function float_for_not_and_lesseq()
{
for (var a = 0.1; !(a <= 1.1 && a <= 1.1); )
return true;
return false;
}
shouldBeFalse("float_for_not_and_lesseq()");
function float_dowhile_not_or_eq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a == 0.1 || a == 0.1))
return false;
}
shouldBeFalse("float_dowhile_not_or_eq()");
function float_dowhile_not_or_neq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a != 1.1 || a != 1.1))
return false;
}
shouldBeFalse("float_dowhile_not_or_neq()");
function float_dowhile_not_or_less()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a < 1.1 || a < 1.1))
return false;
}
shouldBeFalse("float_dowhile_not_or_less()");
function float_dowhile_not_or_lesseq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a <= 1.1 || a <= 1.1))
return false;
}
shouldBeFalse("float_dowhile_not_or_lesseq()");
function float_dowhile_not_and_eq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a == 0.1 && a == 0.1))
return false;
}
shouldBeFalse("float_dowhile_not_and_eq()");
function float_dowhile_not_and_neq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a != 1.1 && a != 1.1))
return false;
}
shouldBeFalse("float_dowhile_not_and_neq()");
function float_dowhile_not_and_less()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a < 1.1 && a < 1.1))
return false;
}
shouldBeFalse("float_dowhile_not_and_less()");
function float_dowhile_not_and_lesseq()
{
var a = 0.1;
var i = 0.1;
do {
if (i > 0.1)
return true;
i++;
} while (!(a <= 1.1 && a <= 1.1))
return false;
}