peon/tests/comparisons.pn

154 lines
2.7 KiB
Plaintext

# Tests that comparisons work
import std;
# All these tests should print true
# int64
print(3 > 2);
print(2 < 3);
print(not (3 < 2));
print(not (2 > 3));
print(2 != 3);
print(3 != 2);
print(not (3 == 2));
print(not (2 == 3));
print(2 <= 3);
print(3 >= 2);
print(not (2 >= 3));
print(not (3 <= 2));
# uint64
var x = 3'u64;
var y = 2'u64;
print(x > y);
print(y < x);
print(not (x < y));
print(not (y > x));
print(y != x);
print(x != y);
print(not (x == y));
print(not (y == x));
print(y <= x);
print(x >= y);
print(not (y >= x));
print(not (x <= y));
# int32
var x1 = 3'i32;
var y1 = 2'i32;
print(x1 > y1);
print(y1 < x1);
print(not (x1 < y1));
print(not (y1 > x1));
print(y1 != x1);
print(x1 != y1);
print(not (x1 == y1));
print(not (y1 == x1));
print(y1 <= x1);
print(x1 >= y1);
print(not (y1 >= x1));
print(not (x1 <= y1));
# uint32
var x2 = 3'u32;
var y2 = 2'u32;
print(x2 > y2);
print(y2 < x2);
print(not (x2 < y2));
print(not (y2 > x2));
print(y2 != x2);
print(x2 != y2);
print(not (x2 == y2));
print(not (y2 == x2));
print(y2 <= x2);
print(x2 >= y2);
print(not (y2 >= x2));
print(not (x2 <= y2));
# int16
var x3 = 3'i16;
var y3 = 2'i16;
print(x3 > y3);
print(y3 < x3);
print(not (x3 < y3));
print(not (y3 > x3));
print(y3 != x3);
print(x3 != y3);
print(not (x3 == y3));
print(not (y3 == x3));
print(y3 <= x3);
print(x3 >= y3);
print(not (y3 >= x3));
print(not (x3 <= y3));
# uint16
var x4 = 3'u16;
var y4 = 2'u16;
print(x4 > y4);
print(y4 < x4);
print(not (x4 < y4));
print(not (y4 > x4));
print(y4 != x4);
print(x4 != y4);
print(not (x4 == y4));
print(not (y4 == x4));
print(y4 <= x4);
print(x4 >= y4);
print(not (y4 >= x4));
print(not (x4 <= y4));
# int8
var x5 = 3'i8;
var y5 = 2'i8;
print(x5 > y5);
print(y5 < x5);
print(not (x5 < y5));
print(not (y5 > x5));
print(y5 != x5);
print(x5 != y5);
print(not (x5 == y5));
print(not (y5 == x5));
print(y5 <= x5);
print(x5 >= y5);
print(not (y5 >= x5));
print(not (x5 <= y5));
# uint8
var x6 = 3'u8;
var y6 = 2'u8;
print(x6 > y6);
print(y6 < x6);
print(not (x6 < y6));
print(not (y6 > x6));
print(y6 != x6);
print(x6 != y6);
print(not (x6 == y6));
print(not (y6 == x6));
print(y6 <= x6);
print(x6 >= y6);
print(not (y6 >= x6));
print(not (x6 <= y6));
# float64
var x7 = 3.0;
var y7 = 2.0;
print(x7 > y7);
print(y7 < x7);
print(not (x7 < y7));
print(not (y7 > x7));
print(y7 != x7);
print(x7 != y7);
print(not (x7 == y7));
print(not (y7 == x7));
print(y7 <= x7);
print(x7 >= y7);
print(not (y7 >= x7));
print(not (x7 <= y7));
# float32
var x8 = 3'f32;
var y8 = 2'f32;
print(x8 > y8);
print(y8 < x8);
print(not (x8 < y8));
print(not (y8 > x8));
print(y8 != x8);
print(x8 != y8);
print(not (x8 == y8));
print(not (y8 == x8));
print(y8 <= x8);
print(x8 >= y8);
print(not (y8 >= x8));
print(not (x8 <= y8));