-
Parcels? Subparcels? Not just for STV hand counts! – OpenTally dev log
Single transferable vote rules designed for hand-counting often contain references to ‘parcels’ (or ‘bundles’ or ‘batches’), ‘further parcels’ and sometimes even ‘subparcels’.
For example, consider the 4th stage of the ERS97 model election. 107 of Glazier's and Wright's ballot papers are aggregated according to… »
-
Implementing a BLT parser by hand in Rust (vs pest and combine): OpenTally dev log
OpenTally is open-source software which can count single transferable vote elections specified using the BLT file format.
Earlier this month, I replaced OpenTally's previous naive string-manipulation-based BLT parser with one using pest. A new parser was necessary to support extensions to the BLT… »
-
Asyncify with vanilla JS/WebAssembly (wasm-bindgen compatible)
Background
WebAssembly is a technology for executing compiled programs in the web browser at near-native speeds. However, it has a number of current limitations, including that it does not support coroutines/asynchronicity.
In OpenTally, WebAssembly is used to run code for counting an election. This… »
-
Model rules for a computerised STV election using the weighted inclusive Gregory method
OpenTally is open-source software for counting single transferable vote (STV) elections. The default preset in OpenTally is ‘OpenTally WIGM’, a recommended set of simple STV rules designed for computer counting, using the weighted inclusive Gregory method, exact quotas and rational arithmetic.
The weighted inclusive Gregory… »
-
Reducing binary size with DIY dynamic dispatch: OpenTally dev log
Background
OpenTally is open source software for the counting of preferential voting elections. One feature of OpenTally is support for various different representations of numbers, from floating-point arithmetic through to exact rational representations.
In OpenTally, these are implemented using generics. For example, consider the following… »
-
Compiling I D Hill's New Zealand Meek STV implementation: OpenTally dev log
In [1], I D Hill describes an implementation of Meek STV written in Pascal, which had been privately circulated since as early as 1999 [2]. The implementation is similar to the earlier ‘Algorithm 123’ Pascal implementation of Meek STV by Hill, Wichmann and… »