class TestCase::BitNot {
static method bit_not_byte : int () {
my $value = ~(byte)0xFF;
unless ($value isa int) {
return 0;
}
unless ($value == 0) {
return 0;
}
return 1;
}
static method bit_not_short : int () {
my $value = ~(short)0xFFFF;
unless ($value isa int) {
return 0;
}
unless ($value == 0) {
return 0;
}
return 1;
}
static method bit_not_int : int () {
my $value = ~0xFFFFFFFF;
unless ($value isa int) {
return 0;
}
unless ($value == 0) {
return 0;
}
return 1;
}
static method bit_not_int_theory : int () {
my $num = 28475212;
my $num_bit_not = ~$num;
unless ($num_bit_not == (-$num) - 1) {
return 0;
}
return 1;
}
static method bit_not_long : int () {
my $value = ~0xFFFFFFFF_FFFFFFFFL;
unless ($value isa long) {
return 0;
}
unless ($value == 0L) {
return 0;
}
return 1;
}
}