<!-- pyRCV2: Preferential vote counting Copyright © 2020–2021 Lee Yingtong Li (RunasSudo) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>pyRCV2</title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css" integrity="sha512-NhSC1YmyruXifcj/KFRWoC561YpHpc5Jtzgvbuzx5VozKpWvQ+4nXhPdFgmx8xqexRcpAglTj9sIBWINXa8x5w==" crossorigin="anonymous" /> <link rel="stylesheet" type="text/css" href="main.css?v=GITVERSION"> </head> <body> <div class="menudiv"> <input type="file" id="bltFile"> <button onclick="clickCount()">Count</button> <label> Preset: <select id="selPreset" onchange="changePreset()"> <option value="scottish" selected>Scottish STV</option> <!--<option value="stvc">pyRCV STV-C</option>--> <option value="senate">Australian Senate STV</option> <option value="wright">Wright STV</option> <option value="prsa77">PRSA 1977</option> <option value="ers97">ERS97</option> </select> </label> <button id="btnAdvancedOptions" onclick="clickAdvancedOptions()">Show advanced options</button> <!--GITREV--> <a href="https://yingtongli.me/blog/2020/12/24/pyrcv2.html">Information and instructions</a> </div> <div id="divAdvancedOptions" class="menudiv" style="display: none;"> <label class="padafter"> Numbers: <select id="selNumbers"> <option value="native">Native</option> <option value="rational">Rational</option> <option value="fixed" selected>Fixed</option> </select> </label> <label> Decimal places (if Numbers = Fixed): <input type="number" id="txtDP" value="5" style="width: 3em;"> </label> <br> <label> Quota: <select id="selQuotaCriterion"> <option value="geq" selected>>=</option> <option value="gt">></option> </select> </label> <label> <select id="selQuota"> <option value="droop" selected>Droop</option> <option value="droop_exact">Droop (exact)</option> <option value="hare">Hare</option> <option value="hare_exact">Hare (exact)</option> </select> </label> <label class="padafter"> <select id="selQuotaMode"> <option value="static" selected>Static quota</option> <option value="progressive">Progressive quota</option> <option value="ers97">Static with ERS97 rules</option> </select> </label> <label class="padafter"> <input type="checkbox" id="chkBulkElection" checked> Bulk election </label> <label class="padafter"> <input type="checkbox" id="chkBulkExclusion"> Bulk exclusion </label> <label class="padafter"> <input type="checkbox" id="chkDeferSurpluses"> Defer surpluses </label> <br> <label> <input type="checkbox" id="chkRoundQuota" checked> Round quota to </label> <label class="padafter"> <input type="number" id="txtRoundQuota" value="0" min="0" style="width: 3em;"> d.p. </label> <label> <input type="checkbox" id="chkRoundVotes"> Round votes to </label> <label class="padafter"> <input type="number" id="txtRoundVotes" value="0" min="0" style="width: 3em;"> d.p. </label> <label> <input type="checkbox" id="chkRoundTVs"> Round transfer values to </label> <label class="padafter"> <input type="number" id="txtRoundTVs" value="0" min="0" style="width: 3em;"> d.p. </label> <label> <input type="checkbox" id="chkRoundWeights"> Round ballot weights to </label> <label> <input type="number" id="txtRoundWeights" value="0" min="0" style="width: 3em;"> d.p. </label> <br> <label class="padafter"> Surplus order: <select id="selSurplus"> <option value="size" selected>By size</option> <option value="order">By order</option> </select> </label> <label> Method: <select id="selTransfers"> <option value="wig" selected>Weighted inclusive Gregory</option> <option value="uig">Unweighted inclusive Gregory</option> <option value="eg">Exclusive Gregory (last bundle)</option> <option value="wright">Wright STV</option> </select> </label> <label class="padafter"> <select id="selPapers"> <option value="both" selected>Include non-transferable papers</option> <option value="transferable">Use transferable papers only</option> </select> </label> <label> Exclusion: <select id="selExclusion"> <option value="one_round" selected>Exclude in one round</option> <option value="parcels_by_order">Exclude by parcel (by order)</option> <!--<option value="parcels_by_value">Exclude by parcel (by value)</option>--> <option value="by_value">Exclude by value</option> <option value="wright">Wright method (re-iterate)</option> </select> </label> <br> <label class="padafter"> Ties: <select id="selTies"> <option value="backwards_random" selected>Backwards then random</option> <option value="forwards_random">Forwards then random</option> <option value="random">Random</option> <option value="prompt">Prompt</option> </select> </label> <label> Random seed: <input type="text" id="txtSeed" value=""> </label> </div> <table id="result"></table> <script src="vendor/BigInt_BigRat-a5f89e2.min.js"></script> <script src="vendor/big-6.0.0.min.js"></script> <script src="vendor/sjcl-1.0.8.min.js"></script> <script src="bundle.js?v=GITVERSION"></script> <script src="index.js?v=GITVERSION"></script> </body> </html>