(divisor)
| 7 | var heap = new ArrayBuffer(64 * 1024); |
| 8 | |
| 9 | function Int32Div(divisor) { |
| 10 | var name = "div_"; |
| 11 | if (divisor < 0) { |
| 12 | name += "minus_"; |
| 13 | } |
| 14 | name += Math.abs(divisor); |
| 15 | var m = eval( |
| 16 | 'function Module(stdlib, foreign, heap) {\n' + |
| 17 | ' "use asm";\n' + |
| 18 | ' function ' + name + '(dividend) {\n' + |
| 19 | ' dividend = dividend | 0;\n' + |
| 20 | ' return ((dividend | 0) / ' + divisor + ') | 0;\n' + |
| 21 | ' }\n' + |
| 22 | ' return { f: ' + name + '}\n' + |
| 23 | '}; Module'); |
| 24 | return m(stdlib, foreign, heap).f; |
| 25 | } |
| 26 | |
| 27 | var divisors = [-2147483648, -32 * 1024, -1000, -16, -7, -2, -1, 0, |
| 28 | 1, 3, 4, 10, 64, 100, 1024, 2147483647]; |
no test coverage detected