fib-wasm-pack-inline
Version:
```ts import { fib } from "fib-wasm-pack-inline"
125 lines (93 loc) • 5.37 kB
JavaScript
const __wasm_base64__ = "AGFzbQEAAAABCQJgAX8Bf2AAAAInAQN3YmcfX193YmluZGdlbl9pbml0X2V4dGVybnJlZl90YWJsZQABAwMCAAAEBQFvAIABBQMBABEHOQQGbWVtb3J5AgADZmliAAITX193YmluZGdlbl9leHBvcnRfMAEAEF9fd2JpbmRnZW5fc3RhcnQAAAwBAgo1AiwBAX8gAEECTwRAA0AgAEEBaxABIAFqIQEgAEECayIAQQFLDQALCyAAIAFqCwYAIAAQAQsLtwcCAEGAgMAAC6QHTGF6eSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAAAAABAAKgAAAC9ydXN0Yy9iZmMwNDZhNGI4ZDZiNTdkYjAyNTQwMTgyNDY2ZTk4OWE5YjBmYjQwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjkvc3JjL2RsbWFsbG9jLnJzAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5ycwBDOlxVc2Vyc1xBZG1pblwuY2FyZ29ccmVnaXN0cnlcc3JjXHJzcHJveHkuY24tZTNkZTAzOWIyNTU0YzgzN1xvbmNlX2NlbGwtMS4yMS4zXHNyY1xsaWIucnMAAMgAEABaAAAACAMAABkAAAByZWVudHJhbnQgaW5pdAAANAEQAA4AAADIABAAWgAAAHoCAAANAAAAxEOfvSRP/DY5TRb1TYbeN21dy9YsUOtjeEGmV3Ebi7k0ABAAUAAAAC4CAAARAAAABAAAAAwAAAAEAAAABQAAAAYAAAAHAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZAAAhQAQACkAAACwBAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplIDw9IHNpemUgKyBtYXhfb3ZlcmhlYWQAAIUAEAApAAAAtgQAAA0AAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAAAkAhAAFQAAADkCEAANAAAArwAQABgAAABkAQAACQAAAAQAAAAMAAAABAAAAAgAAAAAAAAACAAAAAQAAAAJAAAAAAAAAAgAAAAEAAAACgAAAAsAAAAMAAAADQAAAA4AAAAQAAAABAAAAA8AAAAQAAAAEQAAABIAAABjYXBhY2l0eSBvdmVyZmxvdwAAAMACEAARAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkAQbyHwAALAQEAhAEJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0YyUxLjkwLjAtbmlnaHRseSAoYmZjMDQ2YTRiIDIwMjUtMDctMTIpBndhbHJ1cwYwLjIzLjMMd2FzbS1iaW5kZ2VuEzAuMi4xMDAgKDI0MDVlYzJiNCkAaw90YXJnZXRfZmVhdHVyZXMGKw9tdXRhYmxlLWdsb2JhbHMrE25vbnRyYXBwaW5nLWZwdG9pbnQrC2J1bGstbWVtb3J5KwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl";
const __lookup__ = new Uint8Array([
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0,
0, 0, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
]);
function __decode_base64__(base64) {
const len = base64.length;
let bufferLength = (len >> 2) * 3;
let p = 0;
let fillZeros = 0;
if (base64[len - 1] === "=") {
bufferLength--;
fillZeros = 1;
if (base64[len - 2] === "=") {
bufferLength--;
fillZeros = 2;
}
}
const bytes = new Uint8Array(bufferLength);
const strLen = fillZeros ? len - 4 : len;
for (let i = 0; i < strLen; i += 4) {
const encoded1 = __lookup__[base64.charCodeAt(i)];
const encoded2 = __lookup__[base64.charCodeAt(i + 1)];
const encoded3 = __lookup__[base64.charCodeAt(i + 2)];
const encoded4 = __lookup__[base64.charCodeAt(i + 3)];
bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);
bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);
}
if (fillZeros === 1) {
const encoded1 = __lookup__[base64.charCodeAt(strLen)];
const encoded2 = __lookup__[base64.charCodeAt(strLen + 1)];
const encoded3 = __lookup__[base64.charCodeAt(strLen + 2)];
bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);
} else if (fillZeros === 2) {
const encoded1 = __lookup__[base64.charCodeAt(strLen)];
const encoded2 = __lookup__[base64.charCodeAt(strLen + 1)];
bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);
}
return bytes;
}
let wasm;
/**
* @param {number} n
* @returns {number}
*/
export function fib(n) {
const ret = wasm.fib(n);
return ret >>> 0;
}
function __wbg_get_imports() {
const imports = {};
imports.wbg = {};
imports.wbg.__wbindgen_init_externref_table = function() {
const table = wasm.__wbindgen_export_0;
const offset = table.grow(4);
table.set(0, undefined);
table.set(offset + 0, undefined);
table.set(offset + 1, null);
table.set(offset + 2, true);
table.set(offset + 3, false);
;
};
return imports;
}
function __wbg_init_memory(imports, memory) {
}
function __wbg_finalize_init(instance, module) {
wasm = instance.exports;
initSync.__wbindgen_wasm_module = module;
wasm.__wbindgen_start();
return wasm;
}
function initSync() {
if (wasm !== undefined) return wasm;
const bytes = __decode_base64__(__wasm_base64__);
const module = new WebAssembly.Module(bytes);
const imports = __wbg_get_imports();
__wbg_init_memory(imports);
const instance = new WebAssembly.Instance(module, imports);
return __wbg_finalize_init(instance, module);
}
initSync()