aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2010-11-19 22:43:22 -0800
committerAlon Zakai <azakai@mozilla.com>2010-11-19 22:43:22 -0800
commit815a826d7f637c7cf79b438b1599305065f9f35e (patch)
tree7db3ca55b3b7691edb50efaaa15696df71fd2041
parente2dc6a899a51163cfc5540f969bc06d05e20988d (diff)
missing mathops: ord, uno, true
-rw-r--r--src/jsifier.js5
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
}
}