Ruby scripts for calculating US Congressional apportionment
Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
1792
README
apportionment.rb
at_large_states
test_apportionment
wyoming_rule

README

Ruby code to implement post-census Congressional apportionment
according to current and previous US law.

Copyright 2015, Garrett A. Wollman.  All rights reserved.

What's in here
--------------

apportionment.rb   - library for computing apportionment by either the
		     Equal Proportions method (current law) or the
		     Fair Share (Hamilton) method; also includes some
		     static data representing the 2010 Census, 2014 and 2017
		     population estimates, and the actual results of the
		     2010 apportionment
at_large_states    - computes how large the House of Representatives would
		     need to be in order to give a second seat to each of 
		     the states currently represented with a single
		     (at-large) seat
test_apportionment - test harness, uses Census 2010 data to compute the
		     2010 apportionment and compares this to the actual
		     results; follow comments to see changes in various
		     scenarios (DC, PR statehood, 2014 census estimates,
		     etc.)
1792		   - recomputes the 1792 apportionment using current methods;
		     follow comments to switch population counted from only
		     freemen to all persons or 3/5 compromise (using 1792
		     figures so Vermont and Kentucky are included)
wyoming_rule	   - some have suggested that the size of the House be
		     adjusted automatically to make it proportional to
		     the ratio of the total population to that of the
		     smallest state (currently Wyoming); this script
		     computes the size of the House and then does the
		     apportionment, given the specified populations