aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-10-18 17:12:51 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-10-18 17:12:51 -0700
commit9ff73ac6691eb5d02f8ec3e82f92fd45ec16d172 (patch)
tree1526c977247e43fc5450dec496634e4bb4794dce
parent17b1418b0a1a1519ae4922252f0b1e472096bb0b (diff)
various library fixes
-rw-r--r--src/library.js15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/library.js b/src/library.js
index efb6abee..077fe080 100644
--- a/src/library.js
+++ b/src/library.js
@@ -3348,6 +3348,7 @@ LibraryManager.library = {
qsort__deps: ['memcpy'],
qsort: function(base, num, size, comparator) {
+ if (num == 0 || size == 0) return;
// forward calls to the JavaScript sort method
// first, sort the items logically
comparator = FUNCTION_TABLE[comparator];
@@ -4192,10 +4193,15 @@ LibraryManager.library = {
// iostream.h
// ==========================================================================
- // TODO: Document; compile from real implementation.
+ // libc++
+
+ _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3___postset: 'try { __ZNSt3__14coutE = 1 } catch(e){}; try { __ZNSt3__14cerrE = 2 } catch(e){};',
+ _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_: function(){},
+
+ // glibc
_ZNSt8ios_base4InitC1Ev: function() {
- // need valid 'file descriptors'
+ // need valid 'file descriptors' for glibc
//__ZSt4cout = 1;
//__ZSt4cerr = 2;
},
@@ -4268,6 +4274,11 @@ LibraryManager.library = {
scalbnf: 'ldexp',
scalbln: 'ldexp',
scalblnf: 'ldexp',
+ cbrt: function(x) {
+ return Math.pow(x, 1/3);
+ },
+ cbrtf: 'cbrt',
+ cbrtl: 'cbrt',
modf: function(x, intpart) {
{{{ makeSetValue('intpart', 0, 'Math.floor(x)', 'double') }}}