## the CloneproofSSDVote classes but should not be used directly.
class CondorcetVote < ElectionVote
-
+
attr_accessor :results
def initialize(votes=nil)
## directly.
class CondorcetResult < ElectionResult
+ attr_reader :matrix
+
def initialize(voteobj=nil)
unless voteobj and voteobj.kind_of?( CondorcetVote )
raise ArgumentError, "You must pass a CondorcetVote array.", caller
end
super(voteobj)
+ @matrix = voteobj.votes
end
protected
-
def defeats(candidates=nil, votes=nil)
candidates = @election.candidates unless candidates
votes = @election.votes unless votes
def initialize(voteobj=nil)
super(voteobj)
@winners = self.cpssd()
+ @winners.delete nil
end
protected
def cpssd
votes = @election.votes
candidates = *@election.candidates
-
+
def in_schwartz_set?(candidate, candidates, transitive_defeats)
candidates.each do |challenger|
next if candidate == challenger