diff options
author | Jed Barber <jjbarber@y7mail.com> | 2017-07-05 22:12:59 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2017-07-05 22:12:59 +1000 |
commit | 36a5b38d4602aab2ab8607069282afc7ce0c392b (patch) | |
tree | 8907ed02fce539bd6e4ca6e9f27cb46899729195 /src/election.adb | |
parent | 52eb6622ee81c50dd41cfbc8ba53cc210c0e9b1e (diff) |
Removed extraneous Candidate_Range type in Bundles.Containers
Diffstat (limited to 'src/election.adb')
-rw-r--r-- | src/election.adb | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/election.adb b/src/election.adb index c7de32b..7e825b3 100644 --- a/src/election.adb +++ b/src/election.adb @@ -22,12 +22,6 @@ package body Election is package SU renames Ada.Strings.Unbounded; - -- These make converting back and forth easier. - -- Why are they distinct types? Because you can't pass a subtype to a generic. - subtype CanID is Candidates.CandidateID; - subtype CID_Range is Bundle_Containers.Candidate_Range; - - -- Candidate, preference data, and other information @@ -79,11 +73,11 @@ package body Election is This : Entry_Data; begin Entries := Entry_Vectors.Empty_Vector; - for CID in Bundle_Containers.Candidate_Range loop + for CID in Bundle_Containers.Valid_CandidateID loop Given_Bundles.Count_Both (Pref_Data (CID).First_Element, Votes, Papers); This := - (ID => CanID (CID), + (ID => CID, Vote_Change => Votes, Total_Votes => Votes, Paper_Change => Papers, @@ -421,7 +415,7 @@ package body Election is Given_Bundles.Count_Both (New_Bundle, Votes_In, Papers_In); if Votes_In > 0 then - Pref_Data (CID_Range (Working_ID)).Append (New_Bundle); + Pref_Data (Working_ID).Append (New_Bundle); declare Entry_Ref : Entry_Vectors.Reference_Type := Entries.Reference (Working_Position); @@ -463,22 +457,22 @@ package body Election is This_Transfer := Transfers.First_Element; - while Pref_Data (CID_Range (This_Transfer.From)).Length > 0 loop + while Pref_Data (This_Transfer.From).Length > 0 loop Redistribute_Papers (Still_Running => Running_Positions, Already_Excluded => Not_Considered, - Transfer_Bundle => Pref_Data (CID_Range (This_Transfer.From)).Reference (1), + Transfer_Bundle => Pref_Data (This_Transfer.From).Reference (1), Transfer => This_Transfer, Fractional_Loss => Fractional_Loss, Exhausted_Loss => Exhausted_Loss); - Pref_Data (CID_Range (This_Transfer.From)).Delete (1); + Pref_Data (This_Transfer.From).Delete (1); Fractional.Paper_Change := Fractional.Paper_Change + Fractional_Loss; Exhausted.Paper_Change := Exhausted.Paper_Change + Exhausted_Loss; end loop; - if Pref_Data (CID_Range (This_Transfer.From)).Length = 0 then + if Pref_Data (This_Transfer.From).Length = 0 then declare Entry_Ref : Entry_Vectors.Reference_Type := Entries.Reference (This_Transfer.Position); |