mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Added test.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
@@ -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");
|
||||
}
|
||||
Reference in New Issue
Block a user