X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=psi.d%2Fstdlib.psi;h=bcc884d7b9d30a6f18d310eb13d50527e3126465;hp=2400614228c4d8118effc0e658c970e4c951dcd7;hb=c9b3436bd51a4dcf7d6cc6817d4c7a8ad99538d4;hpb=4b5ceb304b924c50eaf8263ad394493ff806fed4 diff --git a/psi.d/stdlib.psi b/psi.d/stdlib.psi index 2400614..bcc884d 100644 --- a/psi.d/stdlib.psi +++ b/psi.d/stdlib.psi @@ -2,3 +2,28 @@ 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); +} \ No newline at end of file