#election #voting #webster #schepers

sainte_lague

全球多个议会选举中使用的圣莱格方法,用于席位分配

3 个版本

0.1.2 2022年5月20日
0.1.1 2021年3月23日
0.1.0 2020年5月24日

#978算法

ISC 许可证

15KB
211

sainte_lague

圣莱格方法(也称为 WebsterSchepers)的 Rust 实现。该算法被德国、拉脱维亚、新西兰等多个国家用于议会席位分配。

注意:由于一些国家(如拉脱维亚或挪威)使用的是算法的修改版本而不是这个原始版本,您应该检查您所在国家的选举立法。此外,尽管我对我的实现相当自信,但我对计算出的数字的准确性不承担任何责任。

Crate Version Build Status License

示例

use sainte_lague::distribute;

//
#[test]
fn german_bundestag_2013() {
	let votes = [41.5, 25.7, 8.6, 8.4];
	let seats = 631;

	let distribution = distribute(&votes, &seats, &false);
	let parliament = vec![311, 193, 64, 63];
	assert_eq!(distribution, Ok(parliament));
}
//

完整的文档在 docs.rs 上。

类似项目

贡献

如果您发现了一个错误或想提出一个特性,请随时访问 问题页面

依赖

~310KB