fix stdlib inclusion on linux
[m6w6/ext-psi] / tests / calc / calc.psi
index 915807ab2522726281a37de502fa06f0ac46c612..c74809c15dfbe647f21726db7a47abfe780e196e 100644 (file)
@@ -1,7 +1,13 @@
+#ifdef __linux__
+lib "crypt";
+#endif
+
+#include <stdlib.h>
+
 function test\calc1() : array {
        let numerator = 3 * 5 + 2;
        let denominator = 17;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
@@ -10,7 +16,7 @@ function test\calc1() : array {
 function test\calc2() : array {
        let numerator = 4 + 5 * 2;
        let denominator = 14;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
@@ -19,7 +25,7 @@ function test\calc2() : array {
 function test\calc3() : array {
        let numerator = -1 + 2 - 3 * 2;
        let denominator = -5;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
@@ -28,7 +34,7 @@ function test\calc3() : array {
 function test\calc4() : array {
        let numerator = 1 * 5 / 5 * -1 / -1 * 10 / 5 + 4 * 2;
        let denominator = 10;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
@@ -37,7 +43,7 @@ function test\calc4() : array {
 function test\calc5() : array {
        let numerator = 5 % 3;
        let denominator = 2;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
@@ -46,7 +52,7 @@ function test\calc5() : array {
 function test\calc6() : array {
        let numerator = 5 % 3 + 1;
        let denominator = 3;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
@@ -55,8 +61,53 @@ function test\calc6() : array {
 function test\calc7() : array {
        let numerator = 5 % (3 + 1);
        let denominator = 1;
-       return to_array(div,
+       return div(numerator, denominator) as to_array(div,
+               to_int(quot),
+               to_int(rem)
+       );
+}
+
+function test\calc8() : array {
+       let numerator = !0 + !0 + !0;
+       let denominator = 3;
+       return div(numerator, denominator) as to_array(div,
+               to_int(quot),
+               to_int(rem)
+       );
+}
+
+function test\calc9() : array {
+       let numerator = 1 && 2;
+       let denominator = 1;
+       return div(numerator, denominator) as to_array(div,
+               to_int(quot),
+               to_int(rem)
+       );
+}
+
+function test\calc10() : array {
+       let numerator = (1 | 2 | 4) & ~3;
+       let denominator = 4;
+       return div(numerator, denominator) as to_array(div,
+               to_int(quot),
+               to_int(rem)
+       );
+}
+
+function test\calc11() : array {
+       let numerator = 1 + (1 + 1 < 2);
+       let denominator = 1;
+       return div(numerator, denominator) as to_array(div,
+               to_int(quot),
+               to_int(rem)
+       );
+}
+
+function test\calc12() : array {
+       let numerator = 1 + (1 + 1 < 3);
+       let denominator = 2;
+       return div(numerator, denominator) as to_array(div,
                to_int(quot),
                to_int(rem)
        );
-}
\ No newline at end of file
+}