Created
November 15, 2022 12:26
-
-
Save gabonator/38ce597c166249e4a1a10d7f440d542a to your computer and use it in GitHub Desktop.
minimal wasm code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
wasmCode = (() => { var wasmcode="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"; return Uint8Array.from(atob(wasmcode), c => c.charCodeAt(0));})(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// em++ main.cpp -o main.wasm -O3 -s EXPORTED_FUNCTIONS="['_formatHexFloat', '_formatHexDouble', '_input', '_output']" --no-entry | |
// node package.js | |
#include <stdint.h> | |
#include <stdio.h> | |
extern "C" { | |
char output[128]; | |
uint8_t input[128]; | |
void formatHexFloat() | |
{ | |
sprintf(output, "%a", *((float*)input)); | |
} | |
void formatHexDouble() | |
{ | |
sprintf(output, "%a", *((double*)input)); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="app_main.js"></script> | |
<script> | |
async function main() { | |
var buffer; | |
if (!wasmCode) | |
{ | |
var wasm = await fetch("./main.wasm"); | |
var blob = await wasm.blob(); | |
buffer = await blob.arrayBuffer(); | |
} else { | |
buffer = wasmCode; | |
} | |
let {instance} = await WebAssembly.instantiate( | |
buffer, {} | |
); | |
var output = new Uint8Array( | |
instance.exports.memory.buffer, | |
instance.exports.output.value, | |
128 | |
); | |
var in32 = new Float32Array( | |
instance.exports.memory.buffer, | |
instance.exports.input.value, | |
1 | |
); | |
var in64 = new Float64Array( | |
instance.exports.memory.buffer, | |
instance.exports.input.value, | |
1 | |
); | |
in32[0] = 3.141592; | |
instance.exports.formatHexFloat(); | |
var out = ""; | |
for (var i=0; i<128 && output[i]; i++) | |
out += String.fromCharCode(output[i]); | |
console.log(out); | |
} | |
main(); | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var fs = require("fs"); | |
var prefix = `wasmCode = (() => { var wasmcode="`; | |
var suffix = `"; return Uint8Array.from(atob(wasmcode), c => c.charCodeAt(0));})();`; | |
fs.writeFileSync("app_main.js", prefix + fs.readFileSync("main.wasm").toString("base64") + suffix); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment