Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
62
Task/Ranking-methods/Sidef/ranking-methods.sidef
Normal file
62
Task/Ranking-methods/Sidef/ranking-methods.sidef
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
var scores = [
|
||||
Pair(Solomon => 44),
|
||||
Pair(Jason => 42),
|
||||
Pair(Errol => 42),
|
||||
Pair(Garry => 41),
|
||||
Pair(Bernard => 41),
|
||||
Pair(Barry => 41),
|
||||
Pair(Stephen => 39),
|
||||
]
|
||||
|
||||
func tiers(s) {
|
||||
s.group_by { .value }.kv.sort.flip.map { .value.map{.key} }
|
||||
}
|
||||
|
||||
func standard(s) {
|
||||
var rank = 1
|
||||
gather {
|
||||
for players in tiers(s) {
|
||||
take(Pair(rank, players))
|
||||
rank += players.len
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func modified(s) {
|
||||
var rank = 0
|
||||
gather {
|
||||
for players in tiers(s) {
|
||||
rank += players.len
|
||||
take(Pair(rank, players))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func dense(s) {
|
||||
tiers(s).map_kv { |k,v| Pair(k+1, v) }
|
||||
}
|
||||
|
||||
func ordinal(s) {
|
||||
s.map_kv { |k,v| Pair(k+1, v.key) }
|
||||
}
|
||||
|
||||
func fractional(s) {
|
||||
var rank = 1
|
||||
gather {
|
||||
for players in tiers(s) {
|
||||
var beg = rank
|
||||
var end = (rank += players.len)
|
||||
take(Pair(sum(beg ..^ end) / players.len, players))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func display(r) {
|
||||
say r.map {|a| '%3s : %s' % a... }.join("\n")
|
||||
}
|
||||
|
||||
say "Standard:"; display( standard(scores))
|
||||
say "\nModified:"; display( modified(scores))
|
||||
say "\nDense:"; display( dense(scores))
|
||||
say "\nOrdinal:"; display( ordinal(scores))
|
||||
say "\nFractional:"; display(fractional(scores))
|
||||
Loading…
Add table
Add a link
Reference in a new issue