49 lines
1.1 KiB
HTML
49 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Examples - Fold</title>
|
|
</head>
|
|
<body>
|
|
<h1>Fold</h1>
|
|
|
|
<a href="index.html">List</a> - <a href="fold.py.html">Source</a> - <a href="fold.wat.html">WebAssembly</a>
|
|
|
|
<div style="white-space: pre;" id="results"></div>
|
|
|
|
<script type="text/javascript" src="./include.js"></script>
|
|
<script type="text/javascript">
|
|
let importObject = {};
|
|
|
|
function run_test(app, data, expected)
|
|
{
|
|
let offset = alloc_bytes(app, data);
|
|
|
|
let actual = app.instance.exports.foldl_u8_or_1(offset);
|
|
|
|
test_result(expected == actual, {
|
|
'summary': 'foldl(or, 1, [' + data + ']) == ' + expected,
|
|
'attributes': {
|
|
'data': data,
|
|
'expected': expected,
|
|
'offset': offset,
|
|
'actual': actual,
|
|
},
|
|
});
|
|
}
|
|
|
|
|
|
WebAssembly.instantiateStreaming(fetch('fold.wasm'), importObject)
|
|
.then(app => {
|
|
run_test(app, [], 1);
|
|
run_test(app, [0x20], 0x21);
|
|
run_test(app, [0x20, 0x10], 0x31);
|
|
run_test(app, [0x20, 0x10, 0x08], 0x39);
|
|
run_test(app, [0x20, 0x10, 0x08, 0x04], 0x3D);
|
|
run_test(app, [0x20, 0x10, 0x08, 0x04, 0x02], 0x3F);
|
|
run_test(app, [0x20, 0x10, 0x08, 0x04, 0x02, 0x01], 0x3F);
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|