sapor 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Area Class Diagram.dia +0 -0
- data/Area Class Diagram.png +0 -0
- data/Class Diagram.dia +0 -0
- data/Class Diagram.png +0 -0
- data/Example-Catalonia.md +361 -0
- data/Example-Flanders.md +486 -0
- data/Example-Greece.md +25 -0
- data/Example-Oslo.md +678 -0
- data/Example-UnitedKingdom-Referendum.md +132 -0
- data/Examples.md +15 -0
- data/LICENSE +674 -0
- data/README.md +103 -0
- data/Rakefile +18 -0
- data/Technical Documentation.md +14 -0
- data/bin/create_installation_package.sh +49 -0
- data/bin/install.sh +45 -0
- data/bin/sapor.rb +24 -0
- data/bin/sapor.sh +106 -0
- data/data/hu/hungary-2014.txt +1680 -0
- data/data/hu/hungary_2014_screen_scraper.rb +48 -0
- data/data/hu/hungary_2014_to_psv.rb +80 -0
- data/data/hu/index-2014.txt +106 -0
- data/data/pl/2015-gl-lis-okr.csv +42 -0
- data/data/pl/poland_2015_to_psv.rb +79 -0
- data/data/pl/poland_2015_to_psv_with_ko_and_rsw.rb +94 -0
- data/data/pl/poland_2015_to_psv_with_ko_konf_kp_l_and_zp.rb +100 -0
- data/data/pl/poland_2015_to_psv_with_ko_sld_and_wi.rb +92 -0
- data/data/pl/poland_2015_to_psv_with_sld.rb +84 -0
- data/data/pl/poland_2015_to_psv_with_sld_and_wi.rb +85 -0
- data/data/uk/inject_ukip_2015_as_brexit_2019_in_2017.rb +54 -0
- data/data/uk/united_kingdom_2015.txt +651 -0
- data/data/uk/united_kingdom_2015_to_psv.rb +104 -0
- data/data/uk/united_kingdom_2017.txt +651 -0
- data/data/uk/united_kingdom_2017_to_psv.rb +104 -0
- data/data/uk/united_kingdom_2017_to_psv_with_brexit_and_chuk.rb +113 -0
- data/data/uk/united_kingdom_2017_to_psv_with_tig.rb +111 -0
- data/lib/sapor.rb +150 -0
- data/lib/sapor/binomials_cache.rb +45 -0
- data/lib/sapor/combinations_distribution.rb +222 -0
- data/lib/sapor/denominators.rb +67 -0
- data/lib/sapor/dichotomies.rb +138 -0
- data/lib/sapor/dichotomy.rb +164 -0
- data/lib/sapor/first_past_the_post.rb +82 -0
- data/lib/sapor/largest_remainder.rb +118 -0
- data/lib/sapor/log4r_logger.rb +49 -0
- data/lib/sapor/log_facade.rb +40 -0
- data/lib/sapor/multi_district_leveled_proportional.rb +64 -0
- data/lib/sapor/multi_district_proportional.rb +123 -0
- data/lib/sapor/multi_district_variable_threshold_proportional.rb +128 -0
- data/lib/sapor/number_formatter.rb +45 -0
- data/lib/sapor/options.rb +73 -0
- data/lib/sapor/poll.rb +286 -0
- data/lib/sapor/polychotomy.rb +200 -0
- data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
- data/lib/sapor/referendum_polychotomy.rb +165 -0
- data/lib/sapor/regional_data/area.rb +82 -0
- data/lib/sapor/regional_data/austria.rb +84 -0
- data/lib/sapor/regional_data/belgium-brussels-2014.psv +46 -0
- data/lib/sapor/regional_data/belgium-brussels-20190526.psv +33 -0
- data/lib/sapor/regional_data/belgium-flanders-2014.psv +80 -0
- data/lib/sapor/regional_data/belgium-flanders-20190526.psv +74 -0
- data/lib/sapor/regional_data/belgium-wallonia-2014.psv +114 -0
- data/lib/sapor/regional_data/belgium-wallonia-20190526.psv +93 -0
- data/lib/sapor/regional_data/belgium.rb +97 -0
- data/lib/sapor/regional_data/belgium_brussels.rb +62 -0
- data/lib/sapor/regional_data/belgium_flanders.rb +64 -0
- data/lib/sapor/regional_data/belgium_wallonia.rb +63 -0
- data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
- data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
- data/lib/sapor/regional_data/catalonia-2015-jxcat.psv +68 -0
- data/lib/sapor/regional_data/catalonia-2015-no-jxsi.psv +68 -0
- data/lib/sapor/regional_data/catalonia-2015.psv +63 -0
- data/lib/sapor/regional_data/catalonia-jxcat.rb +109 -0
- data/lib/sapor/regional_data/catalonia-no-jxsi.rb +96 -0
- data/lib/sapor/regional_data/catalonia.rb +96 -0
- data/lib/sapor/regional_data/denmark-20150618-with-e-and-p.psv +164 -0
- data/lib/sapor/regional_data/denmark-20150618-with-e.psv +153 -0
- data/lib/sapor/regional_data/denmark-20150618-with-p.psv +153 -0
- data/lib/sapor/regional_data/denmark-20150618.psv +142 -0
- data/lib/sapor/regional_data/denmark.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_e.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_e_and_p.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_p.rb +128 -0
- data/lib/sapor/regional_data/estonia.rb +88 -0
- data/lib/sapor/regional_data/european-union-great-britain-20140522-brexit-chuk.psv +172 -0
- data/lib/sapor/regional_data/european-union-great-britain-20140522.psv +146 -0
- data/lib/sapor/regional_data/european-union-great-britain-20190523.psv +141 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia-ri-sd.psv +64 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia-sd.psv +60 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia.psv +56 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-sd.psv +56 -0
- data/lib/sapor/regional_data/european-union-ireland-2014.psv +50 -0
- data/lib/sapor/regional_data/european-union-ireland-20190524-ia.psv +58 -0
- data/lib/sapor/regional_data/european-union-ireland-20190524.psv +52 -0
- data/lib/sapor/regional_data/european_union_27_austria.rb +76 -0
- data/lib/sapor/regional_data/european_union_27_croatia.rb +81 -0
- data/lib/sapor/regional_data/european_union_27_denmark.rb +77 -0
- data/lib/sapor/regional_data/european_union_27_estonia.rb +74 -0
- data/lib/sapor/regional_data/european_union_27_finland.rb +74 -0
- data/lib/sapor/regional_data/european_union_27_ireland.rb +96 -0
- data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +97 -0
- data/lib/sapor/regional_data/european_union_27_italy.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_netherlands.rb +81 -0
- data/lib/sapor/regional_data/european_union_27_poland.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_romania.rb +78 -0
- data/lib/sapor/regional_data/european_union_27_slovakia.rb +80 -0
- data/lib/sapor/regional_data/european_union_27_spain.rb +82 -0
- data/lib/sapor/regional_data/european_union_27_sweden.rb +76 -0
- data/lib/sapor/regional_data/european_union_austria.rb +76 -0
- data/lib/sapor/regional_data/european_union_bulgaria.rb +81 -0
- data/lib/sapor/regional_data/european_union_croatia.rb +81 -0
- data/lib/sapor/regional_data/european_union_cyprus.rb +72 -0
- data/lib/sapor/regional_data/european_union_czech_republic.rb +82 -0
- data/lib/sapor/regional_data/european_union_denmark.rb +77 -0
- data/lib/sapor/regional_data/european_union_estonia.rb +74 -0
- data/lib/sapor/regional_data/european_union_finland.rb +74 -0
- data/lib/sapor/regional_data/european_union_flanders.rb +74 -0
- data/lib/sapor/regional_data/european_union_france.rb +84 -0
- data/lib/sapor/regional_data/european_union_france_2019.rb +84 -0
- data/lib/sapor/regional_data/european_union_french_community_of_belgium.rb +73 -0
- data/lib/sapor/regional_data/european_union_germany.rb +86 -0
- data/lib/sapor/regional_data/european_union_great_britain.rb +98 -0
- data/lib/sapor/regional_data/european_union_greece.rb +77 -0
- data/lib/sapor/regional_data/european_union_hungary.rb +76 -0
- data/lib/sapor/regional_data/european_union_ireland.rb +96 -0
- data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +97 -0
- data/lib/sapor/regional_data/european_union_italy.rb +84 -0
- data/lib/sapor/regional_data/european_union_latvia.rb +81 -0
- data/lib/sapor/regional_data/european_union_lithuania.rb +80 -0
- data/lib/sapor/regional_data/european_union_luxembourg.rb +75 -0
- data/lib/sapor/regional_data/european_union_malta.rb +71 -0
- data/lib/sapor/regional_data/european_union_netherlands.rb +81 -0
- data/lib/sapor/regional_data/european_union_northern_ireland.rb +75 -0
- data/lib/sapor/regional_data/european_union_poland.rb +84 -0
- data/lib/sapor/regional_data/european_union_portugal.rb +75 -0
- data/lib/sapor/regional_data/european_union_romania.rb +78 -0
- data/lib/sapor/regional_data/european_union_slovakia.rb +81 -0
- data/lib/sapor/regional_data/european_union_slovenia.rb +85 -0
- data/lib/sapor/regional_data/european_union_spain.rb +82 -0
- data/lib/sapor/regional_data/european_union_sweden.rb +76 -0
- data/lib/sapor/regional_data/finland-20150419-with-sin.psv +224 -0
- data/lib/sapor/regional_data/finland-20150419.psv +212 -0
- data/lib/sapor/regional_data/finland.rb +107 -0
- data/lib/sapor/regional_data/finland_with_sin.rb +107 -0
- data/lib/sapor/regional_data/flanders-2014.psv +96 -0
- data/lib/sapor/regional_data/flanders-20190526.psv +87 -0
- data/lib/sapor/regional_data/flanders.rb +115 -0
- data/lib/sapor/regional_data/france.rb +38 -0
- data/lib/sapor/regional_data/greece.rb +92 -0
- data/lib/sapor/regional_data/hungary-2014.psv +2104 -0
- data/lib/sapor/regional_data/hungary.rb +116 -0
- data/lib/sapor/regional_data/iceland-20161029-midflokkurinn.psv +94 -0
- data/lib/sapor/regional_data/iceland-20161029.psv +88 -0
- data/lib/sapor/regional_data/iceland-20171028.psv +85 -0
- data/lib/sapor/regional_data/iceland.rb +133 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv-p-par.psv +109 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv-par.psv +103 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv.psv +97 -0
- data/lib/sapor/regional_data/latvia-20141004.psv +89 -0
- data/lib/sapor/regional_data/latvia.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv_p_par.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv_par.rb +112 -0
- data/lib/sapor/regional_data/luxembourg-20131020.psv +76 -0
- data/lib/sapor/regional_data/luxembourg.rb +82 -0
- data/lib/sapor/regional_data/netherlands.rb +108 -0
- data/lib/sapor/regional_data/norway.rb +425 -0
- data/lib/sapor/regional_data/norwegian_municipality.rb +68 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-and-l-without-n-po-r-and-zl.psv +321 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-konf-kp-l-and-zp-without-k-k15-n-pis-po-psl-r-and-zl.psv +280 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-sld-and-wi-without-n-po-and-zl.psv +403 -0
- data/lib/sapor/regional_data/poland-20151025-with-sld-and-wi-without-zl.psv +444 -0
- data/lib/sapor/regional_data/poland-20151025-with-sld-without-zl.psv +403 -0
- data/lib/sapor/regional_data/poland-20151025.psv +403 -0
- data/lib/sapor/regional_data/poland.rb +125 -0
- data/lib/sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl.rb +122 -0
- data/lib/sapor/regional_data/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl.rb +123 -0
- data/lib/sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl.rb +125 -0
- data/lib/sapor/regional_data/poland_with_sld_and_wi_without_zl.rb +126 -0
- data/lib/sapor/regional_data/poland_with_sld_without_zl.rb +126 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-and-ch-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-and-il-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-ch-and-il-without-paf.psv +461 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-without-paf.psv +415 -0
- data/lib/sapor/regional_data/portugal-20151004-with-ch-and-il-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-without-paf.psv +392 -0
- data/lib/sapor/regional_data/portugal-20151004.psv +370 -0
- data/lib/sapor/regional_data/portugal.rb +101 -0
- data/lib/sapor/regional_data/portugal_with_a_and_ch_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_ch_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_ch_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_without_paf.rb +92 -0
- data/lib/sapor/regional_data/slovakia.rb +81 -0
- data/lib/sapor/regional_data/slovenia.rb +114 -0
- data/lib/sapor/regional_data/spain-20160626.psv +619 -0
- data/lib/sapor/regional_data/spain.rb +136 -0
- data/lib/sapor/regional_data/sweden.rb +92 -0
- data/lib/sapor/regional_data/sweden_20140914.rb +89 -0
- data/lib/sapor/regional_data/united_kingdom-2015.psv +4358 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv +5154 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-brexit.psv +4521 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-tig.psv +4529 -0
- data/lib/sapor/regional_data/united_kingdom-20170608.psv +3894 -0
- data/lib/sapor/regional_data/united_kingdom.rb +94 -0
- data/lib/sapor/regional_data/united_kingdom_with_brexit.rb +110 -0
- data/lib/sapor/regional_data/united_kingdom_with_brexit_and_chuk.rb +111 -0
- data/lib/sapor/regional_data/united_kingdom_with_tig.rb +111 -0
- data/lib/sapor/regional_data/utopia.rb +66 -0
- data/lib/sapor/regional_data/wallonia-2014.psv +101 -0
- data/lib/sapor/regional_data/wallonia-20190526.psv +88 -0
- data/lib/sapor/regional_data/wallonia.rb +112 -0
- data/lib/sapor/representatives_polychotomy.rb +338 -0
- data/lib/sapor/single_district_proportional.rb +75 -0
- data/sapor.gemspec +35 -0
- data/spec/integration/area_spec.rb +28 -0
- data/spec/integration/poll_spec.rb +112 -0
- data/spec/integration/sample.poll +8 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/unit/area_spec.rb +115 -0
- data/spec/unit/austria_spec.rb +76 -0
- data/spec/unit/belgium_brussels_spec.rb +58 -0
- data/spec/unit/belgium_flanders_spec.rb +62 -0
- data/spec/unit/belgium_spec.rb +26 -0
- data/spec/unit/belgium_wallonia_spec.rb +65 -0
- data/spec/unit/binomials_cache_spec.rb +34 -0
- data/spec/unit/catalonia_spec.rb +74 -0
- data/spec/unit/combinations_distribution_spec.rb +241 -0
- data/spec/unit/denmark_spec.rb +56 -0
- data/spec/unit/denmark_with_e_and_p_spec.rb +58 -0
- data/spec/unit/denmark_with_e_spec.rb +57 -0
- data/spec/unit/denmark_with_p_spec.rb +57 -0
- data/spec/unit/denominators_spec.rb +40 -0
- data/spec/unit/dichotomies_spec.rb +154 -0
- data/spec/unit/dichotomy_spec.rb +320 -0
- data/spec/unit/estonia_spec.rb +65 -0
- data/spec/unit/european_union_27_austria_spec.rb +61 -0
- data/spec/unit/european_union_27_croatia_spec.rb +60 -0
- data/spec/unit/european_union_27_denmark_spec.rb +62 -0
- data/spec/unit/european_union_27_estonia_spec.rb +94 -0
- data/spec/unit/european_union_27_finland_spec.rb +75 -0
- data/spec/unit/european_union_27_ireland_spec.rb +72 -0
- data/spec/unit/european_union_27_ireland_with_ia_spec.rb +74 -0
- data/spec/unit/european_union_27_italy_spec.rb +69 -0
- data/spec/unit/european_union_27_netherlands_spec.rb +81 -0
- data/spec/unit/european_union_27_poland_spec.rb +69 -0
- data/spec/unit/european_union_27_romania_spec.rb +67 -0
- data/spec/unit/european_union_27_slovakia_spec.rb +111 -0
- data/spec/unit/european_union_27_spain_spec.rb +130 -0
- data/spec/unit/european_union_27_sweden_spec.rb +89 -0
- data/spec/unit/european_union_austria_spec.rb +61 -0
- data/spec/unit/european_union_bulgaria_spec.rb +97 -0
- data/spec/unit/european_union_croatia_spec.rb +59 -0
- data/spec/unit/european_union_cyprus_spec.rb +65 -0
- data/spec/unit/european_union_czech_republic_spec.rb +125 -0
- data/spec/unit/european_union_denmark_spec.rb +61 -0
- data/spec/unit/european_union_estonia_spec.rb +93 -0
- data/spec/unit/european_union_finland_spec.rb +75 -0
- data/spec/unit/european_union_flanders_spec.rb +56 -0
- data/spec/unit/european_union_france_2019_spec.rb +73 -0
- data/spec/unit/european_union_france_spec.rb +73 -0
- data/spec/unit/european_union_french_community_of_belgium_spec.rb +61 -0
- data/spec/unit/european_union_germany_spec.rb +90 -0
- data/spec/unit/european_union_great_britain_spec.rb +87 -0
- data/spec/unit/european_union_greece_spec.rb +148 -0
- data/spec/unit/european_union_hungary_spec.rb +57 -0
- data/spec/unit/european_union_ireland_spec.rb +72 -0
- data/spec/unit/european_union_ireland_with_ia_spec.rb +74 -0
- data/spec/unit/european_union_italy_spec.rb +69 -0
- data/spec/unit/european_union_latvia_spec.rb +76 -0
- data/spec/unit/european_union_lithuania_spec.rb +68 -0
- data/spec/unit/european_union_luxembourg_spec.rb +63 -0
- data/spec/unit/european_union_malta_spec.rb +60 -0
- data/spec/unit/european_union_netherlands_spec.rb +81 -0
- data/spec/unit/european_union_northern_ireland_spec.rb +66 -0
- data/spec/unit/european_union_poland_spec.rb +69 -0
- data/spec/unit/european_union_portugal_spec.rb +77 -0
- data/spec/unit/european_union_romania_spec.rb +67 -0
- data/spec/unit/european_union_slovakia_spec.rb +111 -0
- data/spec/unit/european_union_slovenia_spec.rb +77 -0
- data/spec/unit/european_union_spain_spec.rb +129 -0
- data/spec/unit/european_union_sweden_spec.rb +89 -0
- data/spec/unit/finland_spec.rb +65 -0
- data/spec/unit/finland_with_sin_spec.rb +67 -0
- data/spec/unit/first_past_the_post_spec.rb +54 -0
- data/spec/unit/flanders_spec.rb +70 -0
- data/spec/unit/france_spec.rb +32 -0
- data/spec/unit/greece_spec.rb +118 -0
- data/spec/unit/hungary_spec.rb +132 -0
- data/spec/unit/iceland_spec.rb +57 -0
- data/spec/unit/largest_remainder_spec.rb +79 -0
- data/spec/unit/latvia_kpv_p_par_spec.rb +38 -0
- data/spec/unit/latvia_kpv_par_spec.rb +38 -0
- data/spec/unit/latvia_kpv_spec.rb +38 -0
- data/spec/unit/latvia_spec.rb +60 -0
- data/spec/unit/luxembourg_spec.rb +54 -0
- data/spec/unit/multi_district_leveled_proportional_spec.rb +49 -0
- data/spec/unit/multi_district_proportional_spec.rb +81 -0
- data/spec/unit/netherlands_spec.rb +107 -0
- data/spec/unit/norway_spec.rb +64 -0
- data/spec/unit/norwegian_municipality_spec.rb +89 -0
- data/spec/unit/number_formatter_spec.rb +173 -0
- data/spec/unit/poland_spec.rb +62 -0
- data/spec/unit/poland_with_ko_and_l_without_n_po_r_and_zl_spec.rb +60 -0
- data/spec/unit/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl_spec.rb +59 -0
- data/spec/unit/poland_with_ko_sld_and_wi_without_n_po_and_zl_spec.rb +62 -0
- data/spec/unit/poland_with_sld_and_wi_without_zl_spec.rb +63 -0
- data/spec/unit/poland_with_sld_without_zl_spec.rb +62 -0
- data/spec/unit/poll_spec.rb +110 -0
- data/spec/unit/portugal_spec.rb +66 -0
- data/spec/unit/portugal_with_a_and_ch_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_with_a_and_il_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_with_a_ch_and_il_without_paf_spec.rb +69 -0
- data/spec/unit/portugal_with_a_without_paf_spec.rb +67 -0
- data/spec/unit/portugal_with_ch_and_il_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_without_paf_spec.rb +66 -0
- data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
- data/spec/unit/referendum_polychotomy_spec.rb +289 -0
- data/spec/unit/representatives_polychotomy_spec.rb +332 -0
- data/spec/unit/slovakia_spec.rb +99 -0
- data/spec/unit/slovenia_spec.rb +80 -0
- data/spec/unit/spain_spec.rb +101 -0
- data/spec/unit/sweden_20140914_spec.rb +112 -0
- data/spec/unit/sweden_spec.rb +113 -0
- data/spec/unit/united_kingdom_spec.rb +65 -0
- data/spec/unit/united_kingdom_with_brexit_and_chuk_spec.rb +67 -0
- data/spec/unit/united_kingdom_with_brexit_spec.rb +66 -0
- data/spec/unit/united_kingdom_with_tig_spec.rb +66 -0
- data/spec/unit/wallonia_spec.rb +70 -0
- metadata +490 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
module Sapor
|
|
21
|
+
#
|
|
22
|
+
# The regional data for the European Union: Czech Republic.
|
|
23
|
+
#
|
|
24
|
+
class EuropeanUnionCzechRepublic < Area
|
|
25
|
+
include Singleton
|
|
26
|
+
|
|
27
|
+
def area_code
|
|
28
|
+
'EU[CZ]'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def coalitions
|
|
32
|
+
COALITIONS
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_of_seats
|
|
36
|
+
NO_OF_SEATS
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def population_size
|
|
40
|
+
POPULATION_SIZE
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def seats(simulation)
|
|
44
|
+
electoral_system.project(simulation)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
COALITIONS = [['ANO 2011 (RE)'],
|
|
50
|
+
['Česká pirátská strana (Greens/EFA)',
|
|
51
|
+
'Strana zelených (Greens/EFA)'],
|
|
52
|
+
['Česká strana sociálně demokratická (S&D)'],
|
|
53
|
+
['Komunistická strana Čech a Moravy (GUE/NGL)'],
|
|
54
|
+
['Křesťanská a demokratická unie–Československá strana' \
|
|
55
|
+
' lidová (EPP)',
|
|
56
|
+
'Starostové a nezávislí (EPP)',
|
|
57
|
+
'TOP 09 (EPP)'],
|
|
58
|
+
['Občanská demokratická strana (ECR)'],
|
|
59
|
+
['Svoboda a přímá demokracie (ID)'],
|
|
60
|
+
['Strana svobodných občanů (NI)'],
|
|
61
|
+
['Trikolóra hnutí občanů (*)']].freeze
|
|
62
|
+
|
|
63
|
+
NO_OF_SEATS = 21
|
|
64
|
+
|
|
65
|
+
# Voter turnout on 24 and 25 May 2019
|
|
66
|
+
# Source: Web page with the official results of the elections of 24 and 25
|
|
67
|
+
# May 2019, downloaded on 15 June 2019,
|
|
68
|
+
# https://en.wikipedia.org/wiki/2019_European_Parliament_election_in_the_Czech_Republic#Results
|
|
69
|
+
POPULATION_SIZE = 1_007_398
|
|
70
|
+
|
|
71
|
+
THRESHOLD = 0.05
|
|
72
|
+
|
|
73
|
+
def electoral_system
|
|
74
|
+
if @electoral_system.nil?
|
|
75
|
+
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS,
|
|
76
|
+
DhondtDenominators,
|
|
77
|
+
THRESHOLD)
|
|
78
|
+
end
|
|
79
|
+
@electoral_system
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
module Sapor
|
|
21
|
+
#
|
|
22
|
+
# The regional data for the European Union: Denmark.
|
|
23
|
+
#
|
|
24
|
+
class EuropeanUnionDenmark < Area
|
|
25
|
+
include Singleton
|
|
26
|
+
|
|
27
|
+
def area_code
|
|
28
|
+
'EU[DK]'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def coalitions
|
|
32
|
+
COALITIONS
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_of_seats
|
|
36
|
+
NO_OF_SEATS
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def population_size
|
|
40
|
+
POPULATION_SIZE
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def seats(simulation)
|
|
44
|
+
electoral_system.project(simulation)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
COALITIONS = [['Alternativet (Greens/EFA)',
|
|
50
|
+
'Socialistisk Folkeparti (Greens/EFA)'],
|
|
51
|
+
['Dansk Folkeparti (ID)'],
|
|
52
|
+
['Det Konservative Folkeparti (EPP)',
|
|
53
|
+
'Kristendemokraterne (EPP)'],
|
|
54
|
+
['Enhedslisten–De Rød-Grønne (GUE/NGL)'],
|
|
55
|
+
['Klaus Riskær Pedersen (*)', 'Nye Borgerlige (*)',
|
|
56
|
+
'Stram Kurs (*)'],
|
|
57
|
+
['Liberal Alliance (RE)', 'Radikale Venstre (RE)',
|
|
58
|
+
'Venstre (RE)'],
|
|
59
|
+
['Socialdemokraterne (S&D)']].freeze
|
|
60
|
+
|
|
61
|
+
NO_OF_SEATS = 13
|
|
62
|
+
|
|
63
|
+
# Voter turnout on 26 May 2019
|
|
64
|
+
# Source: Web page with the official results of the elections of 26 May
|
|
65
|
+
# 2019, downloaded on 10 June 2019,
|
|
66
|
+
# https://da.wikipedia.org/wiki/Europa-Parlamentsvalget_2019_i_Danmark
|
|
67
|
+
POPULATION_SIZE = 2_800_029
|
|
68
|
+
|
|
69
|
+
def electoral_system
|
|
70
|
+
if @electoral_system.nil?
|
|
71
|
+
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS, \
|
|
72
|
+
DhondtDenominators)
|
|
73
|
+
end
|
|
74
|
+
@electoral_system
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
module Sapor
|
|
21
|
+
#
|
|
22
|
+
# The regional data for the European Union: Estonia.
|
|
23
|
+
#
|
|
24
|
+
class EuropeanUnionEstonia < Area
|
|
25
|
+
include Singleton
|
|
26
|
+
|
|
27
|
+
def area_code
|
|
28
|
+
'EU[EE]'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def coalitions
|
|
32
|
+
COALITIONS
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_of_seats
|
|
36
|
+
NO_OF_SEATS
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def population_size
|
|
40
|
+
POPULATION_SIZE
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def seats(simulation)
|
|
44
|
+
electoral_system.project(simulation)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
COALITIONS = [['Eesti 200 (RE)', 'Eesti Keskerakond (RE)',
|
|
50
|
+
'Eesti Reformierakond (RE)',
|
|
51
|
+
'Raimond Kaljulaid (RE)'],
|
|
52
|
+
['Eesti Konservatiivne Rahvaerakond (ID)'],
|
|
53
|
+
['Eesti Vabaerakond (*)'],
|
|
54
|
+
['Erakond Eestimaa Rohelised (Greens/EFA)'],
|
|
55
|
+
['Erakond Isamaa (EPP)'],
|
|
56
|
+
['Sotsiaaldemokraatlik Erakond (S&D)']].freeze
|
|
57
|
+
|
|
58
|
+
NO_OF_SEATS = 6
|
|
59
|
+
|
|
60
|
+
# Voter turnout on 26 May 2019
|
|
61
|
+
# Source: Web page with the official results of the elections of 26 May
|
|
62
|
+
# 2019, downloaded on 10 June 2019,
|
|
63
|
+
# https://de.wikipedia.org/wiki/Europawahl_in_Estland_2019
|
|
64
|
+
POPULATION_SIZE = 332_859
|
|
65
|
+
|
|
66
|
+
def electoral_system
|
|
67
|
+
if @electoral_system.nil?
|
|
68
|
+
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS, \
|
|
69
|
+
DhondtDenominators)
|
|
70
|
+
end
|
|
71
|
+
@electoral_system
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
module Sapor
|
|
21
|
+
#
|
|
22
|
+
# The regional data for the European Union: Finland.
|
|
23
|
+
#
|
|
24
|
+
class EuropeanUnionFinland < Area
|
|
25
|
+
include Singleton
|
|
26
|
+
|
|
27
|
+
def area_code
|
|
28
|
+
'EU[FI]'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def coalitions
|
|
32
|
+
COALITIONS
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_of_seats
|
|
36
|
+
NO_OF_SEATS
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def population_size
|
|
40
|
+
POPULATION_SIZE
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def seats(simulation)
|
|
44
|
+
electoral_system.project(simulation)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
COALITIONS = [['Kansallinen Kokoomus (EPP)', 'Kristillisdemokraatit (EPP)'],
|
|
50
|
+
['Liike Nyt (NI)'],
|
|
51
|
+
['Perussuomalaiset (ID)'],
|
|
52
|
+
['Sininen tulevaisuus (ECR)'],
|
|
53
|
+
['Suomen Keskusta (RE)', 'Svenska folkpartiet i Finland (RE)'],
|
|
54
|
+
['Suomen Sosialidemokraattinen Puolue (S&D)'],
|
|
55
|
+
['Vasemmistoliitto (GUE/NGL)'],
|
|
56
|
+
['Vihreä liitto (Greens/EFA)']].freeze
|
|
57
|
+
|
|
58
|
+
NO_OF_SEATS = 13
|
|
59
|
+
|
|
60
|
+
# Voter turnout on 25 May 2014
|
|
61
|
+
# Source: Web page with the official results of the elections of 26 May
|
|
62
|
+
# 2019, downloaded on 12 June 2019,
|
|
63
|
+
# https://en.wikipedia.org/wiki/2019_European_Parliament_election_in_Finland
|
|
64
|
+
POPULATION_SIZE = 1_830_045
|
|
65
|
+
|
|
66
|
+
def electoral_system
|
|
67
|
+
if @electoral_system.nil?
|
|
68
|
+
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS, \
|
|
69
|
+
DhondtDenominators)
|
|
70
|
+
end
|
|
71
|
+
@electoral_system
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
module Sapor
|
|
21
|
+
#
|
|
22
|
+
# The regional data for the European Union: the Flemish part.
|
|
23
|
+
#
|
|
24
|
+
class EuropeanUnionFlanders < Area
|
|
25
|
+
include Singleton
|
|
26
|
+
|
|
27
|
+
def area_code
|
|
28
|
+
'EU[BE-VLG]'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def coalitions
|
|
32
|
+
COALITIONS
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_of_seats
|
|
36
|
+
NO_OF_SEATS
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def population_size
|
|
40
|
+
POPULATION_SIZE
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def seats(simulation)
|
|
44
|
+
electoral_system.project(simulation)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
COALITIONS = [['Christen-Democratisch en Vlaams (EPP)'],
|
|
50
|
+
['Groen (Greens/EFA)', 'Piratenpartij (Greens/EFA)'],
|
|
51
|
+
['Lijst Dedecker (ECR)', 'Nieuw-Vlaamse Alliantie (ECR)'],
|
|
52
|
+
['Open Vlaamse Liberalen en Democraten (RE)'],
|
|
53
|
+
['Partij van de Arbeid van België (GUE/NGL)'],
|
|
54
|
+
['Socialistische Partij Anders (S&D)'],
|
|
55
|
+
['Vlaams Belang (ID)']].freeze
|
|
56
|
+
|
|
57
|
+
NO_OF_SEATS = 12
|
|
58
|
+
|
|
59
|
+
# Voter turnout on 25 May 2014
|
|
60
|
+
# Source: Web page with the official results of the elections of 25 May
|
|
61
|
+
# 2014, downloaded on 27 January 2018,
|
|
62
|
+
# https://nl.wikipedia.org/wiki/Europese_Parlementsverkiezingen_2014_in_Belgi%C3%AB
|
|
63
|
+
POPULATION_SIZE = 1_123_363 + 859_254 + 840_814 + 555_354 + 447_449 + \
|
|
64
|
+
284_891 + 101_246
|
|
65
|
+
|
|
66
|
+
def electoral_system
|
|
67
|
+
if @electoral_system.nil?
|
|
68
|
+
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS, \
|
|
69
|
+
DhondtDenominators)
|
|
70
|
+
end
|
|
71
|
+
@electoral_system
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
module Sapor
|
|
21
|
+
#
|
|
22
|
+
# The regional data for the European Union: France.
|
|
23
|
+
#
|
|
24
|
+
class EuropeanUnionFrance < Area
|
|
25
|
+
include Singleton
|
|
26
|
+
|
|
27
|
+
def area_code
|
|
28
|
+
'EU[FR]'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def coalitions
|
|
32
|
+
COALITIONS
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def no_of_seats
|
|
36
|
+
NO_OF_SEATS
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def population_size
|
|
40
|
+
POPULATION_SIZE
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def seats(simulation)
|
|
44
|
+
electoral_system.project(simulation)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
COALITIONS = [['Agir, la droite constructive–Union des démocrates et' \
|
|
50
|
+
' indépendants (RE)',
|
|
51
|
+
'La République en marche–Mouvement démocrate (RE)'],
|
|
52
|
+
['Debout la France (ECR)'],
|
|
53
|
+
['Europe Écologie Les Verts (Greens/EFA)'],
|
|
54
|
+
['Rassemblement national (ID)'],
|
|
55
|
+
['Génération·s, le mouvement (S&D)',
|
|
56
|
+
'Parti socialiste (S&D)'],
|
|
57
|
+
['La France insoumise (GUE/NGL)',
|
|
58
|
+
'Nouveau Parti anticapitaliste (GUE/NGL)',
|
|
59
|
+
'Parti communiste français (GUE/NGL)'],
|
|
60
|
+
['Les Patriotes (EFDD)'],
|
|
61
|
+
['Les Républicains (EPP)'],
|
|
62
|
+
['Lutte Ouvrière (*)', 'Mouvement des gilets jaunes (*)',
|
|
63
|
+
'Résistons! (*)', 'Union populaire républicaine (*)']].freeze
|
|
64
|
+
|
|
65
|
+
NO_OF_SEATS = 74
|
|
66
|
+
|
|
67
|
+
# Voter turnout on 25 May 2014
|
|
68
|
+
# Source: Web page with the official results of the elections of 25 May
|
|
69
|
+
# 2014, downloaded on 8 February 2018,
|
|
70
|
+
# https://en.wikipedia.org/wiki/European_Parliament_election,_2014_(France)
|
|
71
|
+
POPULATION_SIZE = 18_955_636
|
|
72
|
+
|
|
73
|
+
THRESHOLD = 0.05
|
|
74
|
+
|
|
75
|
+
def electoral_system
|
|
76
|
+
if @electoral_system.nil?
|
|
77
|
+
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS,
|
|
78
|
+
DhondtDenominators,
|
|
79
|
+
THRESHOLD)
|
|
80
|
+
end
|
|
81
|
+
@electoral_system
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|