diff options
| -rw-r--r-- | docs/bqn.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/docs/bqn.js b/docs/bqn.js index 795f4fba..105f16f8 100644 --- a/docs/bqn.js +++ b/docs/bqn.js @@ -660,6 +660,12 @@ let primitives = dynsys(state => { return list(gl.map((g,i) => list([g,rt[i]]))); }); +let parsefloat = (x,w) => { + let n = req1str("•ParseFloat",x,w); + if (! /^-?(\.[0-9]+|[0-9]+\.?[0-9]*)([eE][-+]?[0-9]+)?$/.test(n)) throw Error("•ParseFloat: invalid float format"); + return parseFloat(n); +} + let isint = n => isnum(n) && n===(n|0); let isnat = n => isint(n) && n>=0; let fact = (x,w) => { @@ -781,7 +787,7 @@ let rand = (() => { let sysvals = { bqn:dynsys_copy(makebqnfn("•BQN",r=>run(...r))), rebqn, primitives, type, glyph, decompose, fmt:fmt1, repr, currenterror, unixtime, - js:dojs, math:mathns, ns:nsns, rand, + js:dojs, parsefloat, math:mathns, ns:nsns, rand, listsys: dynsys(_ => list(Object.keys(sysvals).sort().map(str))) }; |
