Added test.

This commit is contained in:
Christoffer Lerno
2023-08-16 15:58:33 +02:00
parent e694d60f23
commit 0448038c68
3 changed files with 157 additions and 226 deletions

View File

@@ -1,48 +0,0 @@
struct Pixmap
{
char *p;
int x;
int y;
int bpp;
}
fn void readpgm(char* name, Pixmap* p)
{
/* ... */
pnm_readpaminit(fp, &inpam);
p.x = inpam.width;
p.y = inpam.height;
if (!(p.p = malloc(@safe(p.x + p.y))))
{
@f1("Error at malloc");
}
for (int i = 0; i < inpam.height; i++)
{
pnm_readpamrow(&inpam, tuplerow)
{
for (int j = 0; j < inpam.width; j++)
{
p.p[@nowrap(i * inpam.width + j)] = sample;
}
};
}
}
fn void getComm(uint len, char* src)
{
uint size;
size = len - 2;
char* comm = malloc(size + 1);
mem::copy(comm, src, size);
}
fn uint* decode_fh(uint* p, SvcFh* fhp)
{
int size;
fh_init(fhp, NFS3_FHSIZE);
size = ntohl(*p++);
if (size > NFS3_FHSIZE) return NULL;
mem::copy(&fhp.fh_handle.fh_base, p, size);
fhp.fh_handle.fh_size = size;
return p + XDR_QUADLEN(size);
}

View File

@@ -1,178 +0,0 @@
module comparisons;
fn void test_signed()
{
int a = 0;
int b = 1;
bool ab_gt = a > b;
bool ab_ge = a >= b;
bool ab_le = a <= b;
bool ab_lt = a < b;
bool ab_ne = a != b;
bool ab_eq = a == b;
}
fn void test_unsigned()
{
uint a = 0;
uint b = 1;
bool ab_gt = a > b;
bool ab_ge = a >= b;
bool ab_le = a <= b;
bool ab_lt = a < b;
bool ab_ne = a != b;
bool ab_eq = a == b;
}
extern fn void printf(char *s);
fn void test_signedunsigned()
{
ichar a = 0 - 1;
char b = (char)(a);
printf("Signed-unsigned -1 0xFF \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 1;
b = 1;
printf("Signed-unsigned 1 1 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 1;
b = 4;
printf("Signed-unsigned 1 4 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 4;
b = 1;
printf("Signed-unsigned 4 1 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 4;
b = 129;
printf("Signed-unsigned 4 129 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 0 - 4;
b = 129;
printf("Signed-unsigned -4 129 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
}
fn void test_unsignedsigned()
{
int b = -1;
uint a = (uint)(b);
printf("Unsigned-signed 0xFFFFFFFF -1 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 1;
b = 1;
printf("Unsigned-signed 1 1 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 4;
b = 1;
printf("Unsigned-signed 4 1 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 1;
b = 4;
printf("Unsigned-signed 1 4 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
a = 0x8000_0001;
b = 4;
printf("Unsigned-signed 0x8000_0001 4 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
b = 0 - 4;
a = 0x8000_0001;
printf("Unsigned-signed 0x8000_0001 -4 \n");
if (a > b) printf("a > b\n");
if (a >= b) printf("a >= b\n");
if (a < b) printf("a < b\n");
if (a <= b) printf("a <= b\n");
if (a != b) printf("a != b\n");
if (a == b) printf("a == b\n");
}
fn void main()
{
test_signedunsigned();
test_unsignedsigned();
printf("-- Done ---\n");
}