Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,90 @@
F mc_rank([(Int, String)] iterable)
Modified competition ranking
[(Float, (Int, String))] r
V lastresult = -1
[(Int, String)] fifo
L(item) iterable
I item[0] == lastresult
fifo [+]= item
E
V n = L.index
L !fifo.empty
r.append((n, fifo.pop(0)))
lastresult = item[0]
fifo [+]= item
L !fifo.empty
r.append((iterable.len, fifo.pop(0)))
R r
F sc_rank([(Int, String)] iterable)
Standard competition ranking
[(Float, (Int, String))] r
V lastresult = -1
V lastrank = -1
L(item) iterable
I item[0] == lastresult
r.append((lastrank, item))
E
V n = L.index + 1
r.append((n, item))
lastresult = item[0]
lastrank = n
R r
F d_rank([(Int, String)] iterable)
Dense ranking
[(Float, (Int, String))] r
V lastresult = -1
V lastrank = 0
L(item) iterable
I item[0] == lastresult
r.append((lastrank, item))
E
lastresult = item[0]
lastrank++
r.append((lastrank, item))
R r
F o_rank([(Int, String)] iterable)
Ordinal ranking
R enumerate(iterable, 1).map((i, item) -> ((Float(i), item)))
F f_rank([(Int, String)] iterable)
Fractional ranking
[(Float, (Int, String))] r
V last = -1
[(Int, (Int, String))] fifo
L(item) iterable
I item[0] != last
I !fifo.empty
V mean = Float(sum(fifo.map(f -> f[0]))) / fifo.len
L !fifo.empty
r.append((mean, fifo.pop(0)[1]))
last = item[0]
fifo.append((L.index + 1, item))
I !fifo.empty
V mean = sum(fifo.map(f -> f[0])) / fifo.len
L !fifo.empty
r.append((mean, fifo.pop(0)[1]))
R r
V scores = [(44, Solomon),
(42, Jason),
(42, Errol),
(41, Garry),
(41, Bernard),
(41, Barry),
(39, Stephen)]
print("\nScores to be ranked (best first):")
L(n, s) scores
print( #2 #..format(n, s))
L(ranker, ranking_method) [(sc_rank, Standard competition ranking),
(mc_rank, Modified competition ranking),
(d_rank, Dense ranking),
(o_rank, Ordinal ranking),
(f_rank, Fractional ranking)]
print("\n#.:".format(ranking_method))
L(rank, score) ranker(scores)
print( #3, (#., #.).format(rank, score[0], score[1]))