diff options
author | Alon Zakai <azakai@mozilla.com> | 2010-11-19 22:43:22 -0800 |
---|---|---|
committer | Alon Zakai <azakai@mozilla.com> | 2010-11-19 22:43:22 -0800 |
commit | 815a826d7f637c7cf79b438b1599305065f9f35e (patch) | |
tree | 7db3ca55b3b7691edb50efaaa15696df71fd2041 /src | |
parent | e2dc6a899a51163cfc5540f969bc06d05e20988d (diff) |
missing mathops: ord, uno, true
Diffstat (limited to 'src')
-rw-r--r-- | src/jsifier.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 6bf3e712..fb813e30 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -710,12 +710,17 @@ function JSify(data, functionsOnly, givenTypes, givenFunctions) { } case 'fcmp': { switch (variant) { + // XXX 'o' ones should be 'ordered (no NaN) and', + // 'u' ones should be 'unordered or'. case 'uge': case 'oge': return ident1 + ' >= ' + ident2; case 'ule': case 'ole': return ident1 + ' <= ' + ident2; case 'ugt': case 'ogt': return ident1 + ' > ' + ident2; case 'ult': case 'olt': return ident1 + ' < ' + ident2; case 'une': case 'one': return ident1 + ' != ' + ident2; case 'ueq': case 'oeq': return ident1 + ' == ' + ident2; + case 'ord': return '!isNaN(' + ident1 + ') && !isNaN(' + ident2 + ')'; + case 'uno': return 'isNaN(' + ident1 + ') || isNaN(' + ident2 + ')'; + case 'true': return '1'; default: throw 'Unknown fcmp variant: ' + variant } } |