{
printf("Testing switch and case statements...\n");
- new var = 4;
+ new var;
+
+ for (var = 1; var < 5; var++)
+ {
+ switch (var)
+ {
+ case 0:
+ printf("It's 0\n");
+ case 1:
+ printf("It's 1\n");
+ case 2:
+ printf("It's 2\n");
+ case 3:
+ printf("It's 3\n");
+ case 4:
+ printf("It's 4\n");
+ case 5:
+ printf("It's 5\n");
+ case 6:
+ printf("It's 6\n");
+ case 7:
+ printf("It's 7\n");
+ default:
+ printf("It's something else\n");
+ }
+ }
+ printf("\n\n");
+ printf("Testing for loops...\n");
+ for (var = 0; var < 10; var++)
+ {
+ printf("Var = %i\n", var);
+ }
- switch (var) {
- case 0:
- printf("It's 0\n");
- case 1:
- printf("It's 1\n");
- case 2:
- printf("It's 2\n");
- case 3:
- printf("It's 3\n");
- case 4:
- printf("It's 4\n");
- case 5:
- printf("It's 5\n");
- case 6:
- printf("It's 6\n");
- case 7:
- printf("It's 7\n");
- default:
- printf("It's something else\n");
- }
+ printf("\n\n");
+ printf("Testing recursion...\n");
+ var = recurse(3);
+ printf("var = %i\n", var);
+ printf("\n\n");
+ printf("Testing while loops...\n");
+ var = 7;
+ while (var > 1)
+ {
+ printf("var = %i\n", var);
+ var--;
+ }
printf("\n\n");
+ printf("Testing Float Math...\n");
+ new Float:a;
+ new Float:b;
+ new Float:c;
+
+ c = 10.5;
+ printf("c = %f (should be 10.5)\n", c);
+ a = 5.0;
+ b = 2.345;
+ c = a + b;
+ printf("a = %f (should be 5.0)\n", a);
+ printf("b = %f (should be 2.345)\n", b);
+ printf("a + b = %f (should be 7.345)\n", c);
+ a = 2.5;
+ b = 3.5;
+ c = a * b;
+ printf("a = %f (should be 2.5)\n", a);
+ printf("b = %f (should be 3.5)\n", b);
+ printf("a 8 b = %f (should be 8.75)\n", c);
+ a = 5.5;
+ b = 1.5;
+ c = a / b;
+ printf("a = %f (should be 5.5)\n", a);
+ printf("b = %f (should be 1.5)\n", b);
+ printf("a / b = %f (should be 3.666666667)\n", c);
+
printf("The printf() call is a native exported function. This should work\n");
printf("Calling testfn()...\n");
return 7;
}
+recurse(val)
+{
+ printf("Recurse: val = %i\n", val);
+ if (val >= 10) return val;
+ return recurse(val + 1);
+}
+
tester(arg1=0, str[]="", arg2=0)
{
if (arg1 == 7) printf("arg1 == 7!!!\n");
code_size = hdr->dat - hdr->cod;
code = (Embryo_Cell *)((unsigned char *)ep->code + (int)hdr->cod);
- for (cip = 0; cip < code_size; cip++) embryo_swap_32(&(code[cip]));
+ for (cip = 0; cip < (code_size / sizeof(Embryo_Cell)); cip++) embryo_swap_32(&(code[cip]));
}
#endif
/* init native api for handling floating point - default in embryo */
dst[0] = 0;
return;
}
- for (i = 0; str_cell[i] != 0; i++) dst[i] = str_cell[i];
+ for (i = 0; str_cell[i] != 0; i++)
+ {
+#ifdef WORDS_BIGENDIAN
+ {
+ Embryo_Cell tmp;
+
+ tmp = str_cell[i];
+ _embryo_byte_swap_32(&tmp);
+ dst[i] = tmp;
+ }
+#else
+ dst[i] = str_cell[i];
+#endif
+ }
dst[i] = 0;
}
str_cell[i] = 0;
return;
}
+#ifdef WORDS_BIGENDIAN
+ {
+ Embryo_Cell tmp;
+
+ tmp = src[i];
+ _embryo_byte_swap_32(&tmp);
+ str_cell[i] = tmp;
+ }
+#else
str_cell[i] = src[i];
+#endif
}
str_cell[i] = 0;
}