| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- function AsmModuleSwitch() {
- "use asm";
- function fib(x) {
- // we multiply all the cases by 100 so that the
- // switch is sparse and doesn't generate a jump table
- x = x|0;
- switch(x|0) {
- case 000: return 1;
- case 100: return 1;
- case 200: return 2;
- case 300: return 3;
- case 400: return 5;
- case 500: return 8;
- case 600: return 13;
- case 700: return 21;
- case 800: return 34;
- case 900: return 55;
- }
- return -1;
- }
-
- return {
- fib: fib
- };
- }
- var asmModuleSwitch = AsmModuleSwitch();
- WScript.Echo(asmModuleSwitch.fib(000));
- WScript.Echo(asmModuleSwitch.fib(100));
- WScript.Echo(asmModuleSwitch.fib(200));
- WScript.Echo(asmModuleSwitch.fib(300));
- WScript.Echo(asmModuleSwitch.fib(400));
- WScript.Echo(asmModuleSwitch.fib(500));
- WScript.Echo(asmModuleSwitch.fib(600));
|