Skip to content

Commit 36177c1

Browse files
committed
Refactoring Thiele
1 parent 178ef5c commit 36177c1

37 files changed

Lines changed: 791 additions & 71 deletions

docs-source/source/reference/rules/index.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,34 @@ Rules module
33

44
.. automodule:: trivoting.rules
55

6+
Meta Rule
7+
---------
8+
9+
.. automodule:: trivoting.rules.ilp_schemes
10+
11+
.. autoclass:: trivoting.rules.ilp_schemes.ILPNotOptimalError
12+
:members:
13+
:show-inheritance:
14+
15+
.. autoclass:: trivoting.rules.ilp_schemes.ILPBuilder
16+
:members:
17+
:show-inheritance:
18+
19+
.. autoclass:: trivoting.rules.ilp_schemes.PuLPSolvers
20+
:members:
21+
:show-inheritance:
22+
23+
.. autofunction:: trivoting.rules.ilp_schemes.ilp_optimiser_rule
24+
25+
626
Thiele Methods
727
--------------
828

929
.. automodule:: trivoting.rules.thiele
1030

1131
.. autoclass:: trivoting.rules.thiele.ThieleScore
32+
:members:
33+
:show-inheritance:
1234

1335
.. autoclass:: trivoting.rules.thiele.PAVScoreKraiczy2025
1436

@@ -38,6 +60,8 @@ Tax-Based Rules
3860
.. automodule:: trivoting.rules.tax_rules
3961

4062
.. autoclass:: trivoting.rules.tax_rules.TaxFunction
63+
:members:
64+
:show-inheritance:
4165

4266
.. autoclass:: trivoting.rules.tax_rules.TaxKraiczy2025
4367

docs/.doctrees/environment.pickle

12.6 KB
Binary file not shown.
351 Bytes
Binary file not shown.
66 KB
Binary file not shown.

docs/_modules/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ <h1>All modules for which code is available</h1>
290290
<li><a href="trivoting/election/trichotomous_ballot.html">trivoting.election.trichotomous_ballot</a></li>
291291
<li><a href="trivoting/election/trichotomous_profile.html">trivoting.election.trichotomous_profile</a></li>
292292
<li><a href="trivoting/fractions.html">trivoting.fractions</a></li>
293+
<li><a href="trivoting/rules/ilp_schemes.html">trivoting.rules.ilp_schemes</a></li>
293294
<li><a href="trivoting/rules/phragmen.html">trivoting.rules.phragmen</a></li>
294295
<li><a href="trivoting/rules/tax_rules.html">trivoting.rules.tax_rules</a></li>
295296
<li><a href="trivoting/rules/thiele.html">trivoting.rules.thiele</a></li>

docs/_modules/trivoting/election/generate.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ <h1>Source code for trivoting.election.generate</h1><div class="highlight"><pre>
387387
<span class="sd"> TrichotomousProfile</span>
388388
<span class="sd"> A profile containing randomly generated trichotomous ballots.</span>
389389
<span class="sd"> &quot;&quot;&quot;</span>
390-
<span class="n">alternatives</span> <span class="o">=</span> <span class="p">[</span><span class="n">Alternative</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">num_alternatives</span><span class="p">)]</span>
390+
<span class="n">alternatives</span> <span class="o">=</span> <span class="p">[</span><span class="n">Alternative</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">num_alternatives</span><span class="p">)]</span>
391391
<span class="n">profile</span> <span class="o">=</span> <span class="n">TrichotomousProfile</span><span class="p">(</span><span class="n">alternatives</span><span class="o">=</span><span class="n">alternatives</span><span class="p">)</span>
392392
<span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">num_voters</span><span class="p">):</span>
393393
<span class="n">ballot</span> <span class="o">=</span> <span class="n">generate_random_ballot</span><span class="p">(</span>

docs/_modules/trivoting/election/trichotomous_ballot.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,14 +282,14 @@ <h1>Source code for trivoting.election.trichotomous_ballot</h1><div class="highl
282282
<span></span><span class="kn">from</span><span class="w"> </span><span class="nn">__future__</span><span class="w"> </span><span class="kn">import</span> <span class="n">annotations</span>
283283

284284
<span class="kn">from</span><span class="w"> </span><span class="nn">abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">ABC</span><span class="p">,</span> <span class="n">abstractmethod</span>
285-
<span class="kn">from</span><span class="w"> </span><span class="nn">collections.abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">Iterable</span><span class="p">,</span> <span class="n">Collection</span>
285+
<span class="kn">from</span><span class="w"> </span><span class="nn">collections.abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">Iterable</span><span class="p">,</span> <span class="n">Collection</span><span class="p">,</span> <span class="n">Container</span>
286286

287287
<span class="kn">from</span><span class="w"> </span><span class="nn">trivoting.election.alternative</span><span class="w"> </span><span class="kn">import</span> <span class="n">Alternative</span>
288288

289289

290290
<div class="viewcode-block" id="AbstractTrichotomousBallot">
291291
<a class="viewcode-back" href="../../../reference/election/index.html#trivoting.election.trichotomous_ballot.AbstractTrichotomousBallot">[docs]</a>
292-
<span class="k">class</span><span class="w"> </span><span class="nc">AbstractTrichotomousBallot</span><span class="p">(</span><span class="n">ABC</span><span class="p">):</span>
292+
<span class="k">class</span><span class="w"> </span><span class="nc">AbstractTrichotomousBallot</span><span class="p">(</span><span class="n">ABC</span><span class="p">,</span> <span class="n">Container</span><span class="p">):</span>
293293
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
294294
<span class="sd"> Abstract base class for a trichotomous ballot.</span>
295295

docs/_modules/trivoting/election/trichotomous_profile.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1017,7 +1017,7 @@ <h1>Source code for trivoting.election.trichotomous_profile</h1><div class="high
10171017

10181018
<div class="viewcode-block" id="TrichotomousMultiProfile.support_dict">
10191019
<a class="viewcode-back" href="../../../reference/election/index.html#trivoting.election.trichotomous_profile.TrichotomousMultiProfile.support_dict">[docs]</a>
1020-
<span class="k">def</span><span class="w"> </span><span class="nf">support_dict</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">defaultdict</span><span class="p">[</span><span class="n">Alternative</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
1020+
<span class="k">def</span><span class="w"> </span><span class="nf">support_dict</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">[</span><span class="n">Alternative</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
10211021
<span class="n">res</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
10221022
<span class="k">for</span> <span class="n">ballot</span><span class="p">,</span> <span class="n">count</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
10231023
<span class="k">for</span> <span class="n">alt</span> <span class="ow">in</span> <span class="n">ballot</span><span class="o">.</span><span class="n">approved</span><span class="p">:</span>

0 commit comments

Comments
 (0)