This JavaScript program calculates the results of elections, given a list of candidates and a list of votes. It is designed to allow for easy comparison between electoral systems. It currently supports first-past-the-post voting, the two-round system, instant-runoff voting, Bucklin voting, the Borda count, the single non-transferable vote system, and the multiple non-transferable vote system.