-extern double pow(double x, double y);
-function psi\pow2() : float {
- let x = 1 | 2;
- let y = 1 << 1;
- return to_float(pow);
-}
\ No newline at end of file
+function psi\free(object $memory) : void {
+ let ptr = objval($memory);
+ return free(ptr) as void(free);
+}
+
+function psi\malloc(int $size) : object {
+ let size = intval($size);
+ pre_assert size >= 0;
+ return malloc(size) as to_object(malloc);
+}
+
+function psi\calloc(int $nmemb, int $size) : object {
+ let nmemb = intval($nmemb);
+ let size = intval($size);
+ pre_assert size >= 0;
+ return calloc(nmemb, size) as to_object(calloc);
+}
+
+function psi\realloc(object $obj, int $size) : object {
+ let ptr = objval($obj);
+ let size = intval($size);
+ pre_assert size >= 0;
+ return realloc(ptr, size) as to_object(realloc);
+}