<html> <body> <div id="output" style="white-space: pre-wrap;"></div> <script src="opentally.js"></script> <script> var election_data = '4 2\n\ 3 1 3 4 0\n\ 4 1 3 2 0\n\ 2 4 1 3 0\n\ 1 2 0\n\ 2 2 4 3 1 0\n\ 1 3 4 2 0\n\ 0\n\ "Adam"\n\ "Basil"\n\ "Charlotte"\n\ "Donald"\n\ "Title"'; console.log = function(v) { document.getElementById('output').append(v); document.getElementById('output').append("\n"); }; var wasm = wasm_bindgen; async function run() { await wasm_bindgen("opentally_bg.wasm"); let stv_opts = wasm.STVOptions.new(2, "one_round"); let election = wasm.election_from_blt_Rational(election_data); let state = wasm.CountStateRational.new(election); wasm.count_init_Rational(state, stv_opts); wasm.make_and_print_result_Rational(1, state); for (let stage_num = 2;; stage_num++) { let is_done = wasm.count_one_stage_Rational(state, stv_opts); if (is_done) { break; } wasm.make_and_print_result_Rational(stage_num, state); } } run(); </script> </body> </html>