function psi\abs(int $i) : int { let n = intval($i); return to_int(abs); } function psi\div(int $numerator, int $denominator) : array { let numerator = intval($numerator); let denominator = intval($denominator); return to_array(div, to_int(quot), to_int(rem)); } function psi\ldiv(int $numerator, int $denominator) : array { let numerator = intval($numerator); let denominator = intval($denominator); return to_array(ldiv, to_int(quot), to_int(rem)); } function psi\lldiv(int $numerator, int $denominator) : array { let numerator = intval($numerator); let denominator = intval($denominator); return to_array(lldiv, to_int(quot), to_int(rem)); } function psi\strtold(string $str, string &$end = null) : float { let nptr = strval($str); let endptr = &NULL; return to_float(strtold); set $end = to_string(*endptr); } extern double pow(double x, double y); function psi\pow2() : float { let x = 1 | 2; let y = 1 << 1; return to_float(pow); }