Source code for mapof.elections.distances.main_approval_distances

import logging


from mapof.elections.objects.ApprovalElection import ApprovalElection
from mapof.elections.distances.register import register_approval_election_distance


[docs] @register_approval_election_distance("approvalwise") def approvalwise_distance( election_1: ApprovalElection, election_2: ApprovalElection, inner_distance: callable ) -> (float, list): """ Return: approvalwise distance """ election_1.votes_to_approvalwise_vector() election_2.votes_to_approvalwise_vector() return inner_distance(election_1.approvalwise_vector, election_2.approvalwise_vector), None
[docs] @register_approval_election_distance("hamming") def hamming_distance(election_1: ApprovalElection, election_2: ApprovalElection) -> float: """ Return: Hamming distance """ logging.warning("Hamming distance is not implemented yet.") return -1