icu_ratings 1.2.2 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/icu_ratings/player.rb +2 -2
- data/lib/icu_ratings/tournament.rb +25 -9
- data/lib/icu_ratings/version.rb +1 -1
- data/spec/tournament_spec.rb +1049 -0
- metadata +4 -4
data/lib/icu_ratings/player.rb
CHANGED
@@ -260,10 +260,10 @@ module ICU
|
|
260
260
|
end
|
261
261
|
end
|
262
262
|
|
263
|
-
def update_performance # :nodoc:
|
263
|
+
def update_performance(thresh) # :nodoc:
|
264
264
|
stable = case
|
265
265
|
when @performance && @estimated_performance then
|
266
|
-
(@performance - @estimated_performance).abs <
|
266
|
+
(@performance - @estimated_performance).abs < thresh
|
267
267
|
when !@performance && !@estimated_performance then
|
268
268
|
true
|
269
269
|
else
|
@@ -57,6 +57,16 @@ module ICU
|
|
57
57
|
#
|
58
58
|
# See ICU::RatedPlayer and ICU::RatedResult for more details.
|
59
59
|
#
|
60
|
+
# The <em>rate!</em> method takes some optional arguments to control the algoritm, for example:
|
61
|
+
#
|
62
|
+
# t.rate!(max_iterations2: 30)
|
63
|
+
#
|
64
|
+
# The complete set of current options is:
|
65
|
+
#
|
66
|
+
# * <em>max_iterations1</em>: the maximum number of re-estimation iterations before the bonus calculation (default <b>30</b>)
|
67
|
+
# * <em>max_iterations2</em>: the maximum number of re-estimation iterations after the bonus calculation (default <b>1</b>)
|
68
|
+
# * <em>threshold</em>: the maximum difference allowed between re-estimated ratings in a stabe solution (default <b>0.5</b>)
|
69
|
+
#
|
60
70
|
# == Error Handling
|
61
71
|
#
|
62
72
|
# Some of the above methods have the potential to raise RuntimeError exceptions.
|
@@ -66,12 +76,12 @@ module ICU
|
|
66
76
|
# of unrated players failed to converge. However an instance of non-convergence
|
67
77
|
# has yet to be observed in practice.
|
68
78
|
#
|
69
|
-
# Since exception throwing is how errors are signalled, you should arrange
|
70
|
-
# to be caught and handled in some suitable place in your code.
|
79
|
+
# Since exception throwing is how errors are signalled, you should arrange
|
80
|
+
# for them to be caught and handled in some suitable place in your code.
|
71
81
|
#
|
72
82
|
class RatedTournament
|
73
83
|
attr_accessor :desc
|
74
|
-
attr_reader :start, :no_bonuses
|
84
|
+
attr_reader :start, :no_bonuses, :iterations1, :iterations2
|
75
85
|
|
76
86
|
# Add a new player to the tournament. Returns the instance of ICU::RatedPlayer created.
|
77
87
|
# See ICU::RatedPlayer for details.
|
@@ -97,14 +107,19 @@ module ICU
|
|
97
107
|
end
|
98
108
|
|
99
109
|
# Rate the tournament. Called after all players and results have been added.
|
100
|
-
def rate!
|
110
|
+
def rate!(opt={})
|
111
|
+
max_iterations1 = opt[:max_iterations1] || 30
|
112
|
+
max_iterations2 = opt[:max_iterations2] || 1
|
113
|
+
threshold = opt[:threshold] || 0.5
|
101
114
|
players.each { |p| p.init }
|
102
|
-
performance_ratings(
|
115
|
+
@iterations1 = performance_ratings(max_iterations1, threshold)
|
103
116
|
players.each { |p| p.rate! }
|
104
117
|
if !no_bonuses && calculate_bonuses > 0
|
105
118
|
players.each { |p| p.rate! }
|
106
|
-
performance_ratings(
|
119
|
+
@iterations2 = performance_ratings(max_iterations2, threshold)
|
107
120
|
calculate_bonuses
|
121
|
+
else
|
122
|
+
@iterations2 = 0
|
108
123
|
end
|
109
124
|
end
|
110
125
|
|
@@ -123,7 +138,7 @@ module ICU
|
|
123
138
|
@start = ICU::Util.parsedate!(date)
|
124
139
|
end
|
125
140
|
|
126
|
-
# Set whether there are no bonuses (false by default)
|
141
|
+
# Set whether there are no bonuses (false by default).
|
127
142
|
def no_bonuses=(no_bonuses)
|
128
143
|
@no_bonuses = no_bonuses ? true : false
|
129
144
|
end
|
@@ -137,14 +152,15 @@ module ICU
|
|
137
152
|
end
|
138
153
|
|
139
154
|
# Calculate performance ratings either iteratively or with just one sweep for bonus calculations.
|
140
|
-
def performance_ratings(max)
|
155
|
+
def performance_ratings(max, thresh)
|
141
156
|
stable, count = false, 0
|
142
157
|
while !stable && count < max
|
143
158
|
@player.values.each { |p| p.estimate_performance }
|
144
|
-
stable = @player.values.inject(true) { |ok, p| p.update_performance && ok }
|
159
|
+
stable = @player.values.inject(true) { |ok, p| p.update_performance(thresh) && ok }
|
145
160
|
count+= 1
|
146
161
|
end
|
147
162
|
raise "performance rating estimation did not converge" if max > 1 && !stable
|
163
|
+
count
|
148
164
|
end
|
149
165
|
|
150
166
|
# Calculate bonuses for all players and return the number who got one.
|
data/lib/icu_ratings/version.rb
CHANGED
data/spec/tournament_spec.rb
CHANGED
@@ -994,5 +994,1054 @@ module ICU
|
|
994
994
|
@p2.new_rating.should be_within(0.5).of(1722)
|
995
995
|
end
|
996
996
|
end
|
997
|
+
|
998
|
+
context "#rate - Jonathan Peoples in the Irish Junior U12 Championships 2012" do
|
999
|
+
before(:each) do
|
1000
|
+
@t = ICU::RatedTournament.new(desc: 'Irish U12 Junior Championships 2012')
|
1001
|
+
|
1002
|
+
@t.add_player(4289, desc: "Jeffrey Alfred", rating: 1090, kfactor: 40)
|
1003
|
+
@t.add_player(4290, desc: "Piotr Baczkowski", rating: 557, games: 10)
|
1004
|
+
@t.add_player(4291, desc: "Ross Beatty", rating: 890, games: 17)
|
1005
|
+
@t.add_player(4292, desc: "Katherine Bolger")
|
1006
|
+
@t.add_player(4293, desc: "Liam Coman", rating: 415, games: 16)
|
1007
|
+
@t.add_player(4294, desc: "Darragh Flynn", rating: 320, kfactor: 40)
|
1008
|
+
@t.add_player(4295, desc: "David Halpenny", rating: 794, games: 8)
|
1009
|
+
@t.add_player(4296, desc: "Will Hartery", rating: 288, games: 18)
|
1010
|
+
@t.add_player(4297, desc: "Michael Higgins", rating: 839, kfactor: 40)
|
1011
|
+
@t.add_player(4298, desc: "Padraig Hughes", rating: 1385, kfactor: 40)
|
1012
|
+
@t.add_player(4299, desc: "Mihailo Manojlovic", rating: 742, kfactor: 40)
|
1013
|
+
@t.add_player(4300, desc: "Joe McEntegert")
|
1014
|
+
@t.add_player(4301, desc: "Tom McGrath", rating: 1058, kfactor: 40)
|
1015
|
+
@t.add_player(4302, desc: "Colin McKenna")
|
1016
|
+
@t.add_player(4303, desc: "Thomas McStay", rating: 234, games: 6)
|
1017
|
+
@t.add_player(4304, desc: "Shane Melaugh", rating: 683, kfactor: 40)
|
1018
|
+
@t.add_player(4305, desc: "Diana Mirza", rating: 1485, kfactor: 40)
|
1019
|
+
@t.add_player(4306, desc: "Keerthi Mohan", rating: 336, games: 5)
|
1020
|
+
@t.add_player(4307, desc: "Ellen Murray", rating: 126, games: 11)
|
1021
|
+
@t.add_player(4308, desc: "Eibhia Ni Mhuireagain", rating: 864, kfactor: 40)
|
1022
|
+
@t.add_player(4309, desc: "Joe O'Neill")
|
1023
|
+
@t.add_player(4310, desc: "Jim O'Reilly", rating: 782, kfactor: 40)
|
1024
|
+
@t.add_player(4311, desc: "Jonathon Peoples")
|
1025
|
+
@t.add_player(4312, desc: "Nobin Rebi")
|
1026
|
+
@t.add_player(4313, desc: "Fiachra Scallan", rating: 1000, kfactor: 40)
|
1027
|
+
@t.add_player(4314, desc: "Shanly Sebastian")
|
1028
|
+
@t.add_player(4315, desc: "Finnian Wingfield")
|
1029
|
+
|
1030
|
+
@t.add_result(1, 4289, 4307, "W")
|
1031
|
+
@t.add_result(1, 4290, 4309, "W")
|
1032
|
+
@t.add_result(1, 4291, 4311, "W")
|
1033
|
+
@t.add_result(1, 4292, 4312, "L")
|
1034
|
+
@t.add_result(1, 4293, 4303, "D")
|
1035
|
+
@t.add_result(1, 4294, 4314, "W")
|
1036
|
+
@t.add_result(1, 4295, 4305, "L")
|
1037
|
+
@t.add_result(1, 4296, 4298, "L")
|
1038
|
+
@t.add_result(1, 4297, 4306, "W")
|
1039
|
+
@t.add_result(1, 4298, 4296, "W")
|
1040
|
+
@t.add_result(1, 4299, 4301, "W")
|
1041
|
+
@t.add_result(1, 4300, 4310, "L")
|
1042
|
+
@t.add_result(1, 4301, 4299, "L")
|
1043
|
+
@t.add_result(1, 4302, 4313, "L")
|
1044
|
+
@t.add_result(1, 4303, 4293, "D")
|
1045
|
+
@t.add_result(1, 4304, 4308, "L")
|
1046
|
+
@t.add_result(1, 4305, 4295, "W")
|
1047
|
+
@t.add_result(1, 4306, 4297, "L")
|
1048
|
+
@t.add_result(1, 4307, 4289, "L")
|
1049
|
+
@t.add_result(1, 4308, 4304, "W")
|
1050
|
+
@t.add_result(1, 4309, 4290, "L")
|
1051
|
+
@t.add_result(1, 4310, 4300, "W")
|
1052
|
+
@t.add_result(1, 4311, 4291, "L")
|
1053
|
+
@t.add_result(1, 4312, 4292, "W")
|
1054
|
+
@t.add_result(1, 4313, 4302, "W")
|
1055
|
+
@t.add_result(1, 4314, 4294, "L")
|
1056
|
+
@t.add_result(2, 4290, 4305, "L")
|
1057
|
+
@t.add_result(2, 4291, 4308, "D")
|
1058
|
+
@t.add_result(2, 4292, 4302, "W")
|
1059
|
+
@t.add_result(2, 4293, 4301, "L")
|
1060
|
+
@t.add_result(2, 4294, 4313, "L")
|
1061
|
+
@t.add_result(2, 4295, 4306, "W")
|
1062
|
+
@t.add_result(2, 4296, 4307, "W")
|
1063
|
+
@t.add_result(2, 4297, 4315, "W")
|
1064
|
+
@t.add_result(2, 4298, 4314, "W")
|
1065
|
+
@t.add_result(2, 4299, 4310, "D")
|
1066
|
+
@t.add_result(2, 4300, 4309, "W")
|
1067
|
+
@t.add_result(2, 4301, 4293, "W")
|
1068
|
+
@t.add_result(2, 4302, 4292, "L")
|
1069
|
+
@t.add_result(2, 4303, 4312, "W")
|
1070
|
+
@t.add_result(2, 4304, 4311, "L")
|
1071
|
+
@t.add_result(2, 4305, 4290, "W")
|
1072
|
+
@t.add_result(2, 4306, 4295, "L")
|
1073
|
+
@t.add_result(2, 4307, 4296, "L")
|
1074
|
+
@t.add_result(2, 4308, 4291, "D")
|
1075
|
+
@t.add_result(2, 4309, 4300, "L")
|
1076
|
+
@t.add_result(2, 4310, 4299, "D")
|
1077
|
+
@t.add_result(2, 4311, 4304, "W")
|
1078
|
+
@t.add_result(2, 4312, 4303, "L")
|
1079
|
+
@t.add_result(2, 4313, 4294, "W")
|
1080
|
+
@t.add_result(2, 4314, 4298, "L")
|
1081
|
+
@t.add_result(2, 4315, 4297, "L")
|
1082
|
+
@t.add_result(3, 4289, 4291, "W")
|
1083
|
+
@t.add_result(3, 4290, 4311, "L")
|
1084
|
+
@t.add_result(3, 4291, 4289, "L")
|
1085
|
+
@t.add_result(3, 4292, 4315, "L")
|
1086
|
+
@t.add_result(3, 4293, 4302, "W")
|
1087
|
+
@t.add_result(3, 4294, 4300, "L")
|
1088
|
+
@t.add_result(3, 4295, 4312, "W")
|
1089
|
+
@t.add_result(3, 4296, 4301, "L")
|
1090
|
+
@t.add_result(3, 4297, 4298, "L")
|
1091
|
+
@t.add_result(3, 4298, 4297, "W")
|
1092
|
+
@t.add_result(3, 4299, 4308, "W")
|
1093
|
+
@t.add_result(3, 4300, 4294, "W")
|
1094
|
+
@t.add_result(3, 4301, 4296, "W")
|
1095
|
+
@t.add_result(3, 4302, 4293, "L")
|
1096
|
+
@t.add_result(3, 4303, 4310, "L")
|
1097
|
+
@t.add_result(3, 4304, 4307, "W")
|
1098
|
+
@t.add_result(3, 4305, 4313, "D")
|
1099
|
+
@t.add_result(3, 4306, 4309, "L")
|
1100
|
+
@t.add_result(3, 4307, 4304, "L")
|
1101
|
+
@t.add_result(3, 4308, 4299, "L")
|
1102
|
+
@t.add_result(3, 4309, 4306, "W")
|
1103
|
+
@t.add_result(3, 4310, 4303, "W")
|
1104
|
+
@t.add_result(3, 4311, 4290, "W")
|
1105
|
+
@t.add_result(3, 4312, 4295, "L")
|
1106
|
+
@t.add_result(3, 4313, 4305, "D")
|
1107
|
+
@t.add_result(3, 4315, 4292, "W")
|
1108
|
+
@t.add_result(4, 4289, 4299, "L")
|
1109
|
+
@t.add_result(4, 4290, 4312, "D")
|
1110
|
+
@t.add_result(4, 4291, 4303, "W")
|
1111
|
+
@t.add_result(4, 4292, 4304, "L")
|
1112
|
+
@t.add_result(4, 4293, 4308, "L")
|
1113
|
+
@t.add_result(4, 4294, 4309, "L")
|
1114
|
+
@t.add_result(4, 4295, 4315, "W")
|
1115
|
+
@t.add_result(4, 4296, 4314, "W")
|
1116
|
+
@t.add_result(4, 4297, 4300, "W")
|
1117
|
+
@t.add_result(4, 4298, 4305, "W")
|
1118
|
+
@t.add_result(4, 4299, 4289, "W")
|
1119
|
+
@t.add_result(4, 4300, 4297, "L")
|
1120
|
+
@t.add_result(4, 4301, 4311, "W")
|
1121
|
+
@t.add_result(4, 4302, 4306, "W")
|
1122
|
+
@t.add_result(4, 4303, 4291, "L")
|
1123
|
+
@t.add_result(4, 4304, 4292, "W")
|
1124
|
+
@t.add_result(4, 4305, 4298, "L")
|
1125
|
+
@t.add_result(4, 4306, 4302, "L")
|
1126
|
+
@t.add_result(4, 4308, 4293, "W")
|
1127
|
+
@t.add_result(4, 4309, 4294, "W")
|
1128
|
+
@t.add_result(4, 4310, 4313, "L")
|
1129
|
+
@t.add_result(4, 4311, 4301, "L")
|
1130
|
+
@t.add_result(4, 4312, 4290, "D")
|
1131
|
+
@t.add_result(4, 4313, 4310, "W")
|
1132
|
+
@t.add_result(4, 4314, 4296, "L")
|
1133
|
+
@t.add_result(4, 4315, 4295, "L")
|
1134
|
+
@t.add_result(5, 4289, 4310, "W")
|
1135
|
+
@t.add_result(5, 4290, 4293, "D")
|
1136
|
+
@t.add_result(5, 4291, 4296, "W")
|
1137
|
+
@t.add_result(5, 4292, 4307, "D")
|
1138
|
+
@t.add_result(5, 4293, 4290, "D")
|
1139
|
+
@t.add_result(5, 4294, 4312, "W")
|
1140
|
+
@t.add_result(5, 4295, 4297, "L")
|
1141
|
+
@t.add_result(5, 4296, 4291, "L")
|
1142
|
+
@t.add_result(5, 4297, 4295, "W")
|
1143
|
+
@t.add_result(5, 4298, 4299, "D")
|
1144
|
+
@t.add_result(5, 4299, 4298, "D")
|
1145
|
+
@t.add_result(5, 4300, 4311, "L")
|
1146
|
+
@t.add_result(5, 4301, 4313, "D")
|
1147
|
+
@t.add_result(5, 4302, 4314, "W")
|
1148
|
+
@t.add_result(5, 4303, 4315, "W")
|
1149
|
+
@t.add_result(5, 4304, 4309, "L")
|
1150
|
+
@t.add_result(5, 4305, 4308, "W")
|
1151
|
+
@t.add_result(5, 4307, 4292, "D")
|
1152
|
+
@t.add_result(5, 4308, 4305, "L")
|
1153
|
+
@t.add_result(5, 4309, 4304, "W")
|
1154
|
+
@t.add_result(5, 4310, 4289, "L")
|
1155
|
+
@t.add_result(5, 4311, 4300, "W")
|
1156
|
+
@t.add_result(5, 4312, 4294, "L")
|
1157
|
+
@t.add_result(5, 4313, 4301, "D")
|
1158
|
+
@t.add_result(5, 4314, 4302, "L")
|
1159
|
+
@t.add_result(5, 4315, 4303, "L")
|
1160
|
+
@t.add_result(6, 4289, 4301, "L")
|
1161
|
+
@t.add_result(6, 4290, 4304, "D")
|
1162
|
+
@t.add_result(6, 4291, 4305, "W")
|
1163
|
+
@t.add_result(6, 4292, 4314, "D")
|
1164
|
+
@t.add_result(6, 4293, 4300, "D")
|
1165
|
+
@t.add_result(6, 4294, 4302, "W")
|
1166
|
+
@t.add_result(6, 4295, 4311, "W")
|
1167
|
+
@t.add_result(6, 4296, 4315, "W")
|
1168
|
+
@t.add_result(6, 4297, 4299, "W")
|
1169
|
+
@t.add_result(6, 4298, 4313, "W")
|
1170
|
+
@t.add_result(6, 4299, 4297, "L")
|
1171
|
+
@t.add_result(6, 4300, 4293, "D")
|
1172
|
+
@t.add_result(6, 4301, 4289, "W")
|
1173
|
+
@t.add_result(6, 4302, 4294, "L")
|
1174
|
+
@t.add_result(6, 4303, 4308, "L")
|
1175
|
+
@t.add_result(6, 4304, 4290, "D")
|
1176
|
+
@t.add_result(6, 4305, 4291, "L")
|
1177
|
+
@t.add_result(6, 4307, 4312, "W")
|
1178
|
+
@t.add_result(6, 4308, 4303, "W")
|
1179
|
+
@t.add_result(6, 4309, 4310, "L")
|
1180
|
+
@t.add_result(6, 4310, 4309, "W")
|
1181
|
+
@t.add_result(6, 4311, 4295, "L")
|
1182
|
+
@t.add_result(6, 4312, 4307, "L")
|
1183
|
+
@t.add_result(6, 4313, 4298, "L")
|
1184
|
+
@t.add_result(6, 4314, 4292, "D")
|
1185
|
+
@t.add_result(6, 4315, 4296, "L")
|
1186
|
+
|
1187
|
+
# Get the players of interest (Jonathan Peoples and his opponents).
|
1188
|
+
@p = @t.player(4311)
|
1189
|
+
@o1 = @t.player(4291)
|
1190
|
+
@o2 = @t.player(4304)
|
1191
|
+
@o3 = @t.player(4290)
|
1192
|
+
@o4 = @t.player(4301)
|
1193
|
+
@o5 = @t.player(4300)
|
1194
|
+
@o6 = @t.player(4295)
|
1195
|
+
end
|
1196
|
+
|
1197
|
+
it "should be setup properly" do
|
1198
|
+
@p.desc.should == "Jonathon Peoples"
|
1199
|
+
@o1.desc.should == "Ross Beatty"
|
1200
|
+
@o2.desc.should == "Shane Melaugh"
|
1201
|
+
@o3.desc.should == "Piotr Baczkowski"
|
1202
|
+
@o4.desc.should == "Tom McGrath"
|
1203
|
+
@o5.desc.should == "Joe McEntegert"
|
1204
|
+
@o6.desc.should == "David Halpenny"
|
1205
|
+
|
1206
|
+
@p.type.should == :unrated
|
1207
|
+
@o1.type.should == :provisional
|
1208
|
+
@o2.type.should == :rated
|
1209
|
+
@o3.type.should == :provisional
|
1210
|
+
@o4.type.should == :rated
|
1211
|
+
@o5.type.should == :unrated
|
1212
|
+
@o6.type.should == :provisional
|
1213
|
+
|
1214
|
+
@o2.rating.should == 683
|
1215
|
+
@o4.rating.should == 1058
|
1216
|
+
|
1217
|
+
@t.iterations1.should be_nil
|
1218
|
+
@t.iterations2.should be_nil
|
1219
|
+
end
|
1220
|
+
|
1221
|
+
it "should produce inconsistent results with default settings" do
|
1222
|
+
@t.rate!
|
1223
|
+
|
1224
|
+
@p.new_rating.should be_within(0.5).of(763) # the original calculation
|
1225
|
+
|
1226
|
+
@o1.new_rating.should == @o1.performance
|
1227
|
+
@o2.bonus.should == 0
|
1228
|
+
@o3.new_rating.should == @o3.performance
|
1229
|
+
@o4.bonus.should == 0
|
1230
|
+
@o5.new_rating.should == @o5.performance
|
1231
|
+
@o6.new_rating.should == @o6.performance
|
1232
|
+
|
1233
|
+
ratings = [@o1, @o2, @o3, @o4, @o5, @o6].map { |o| o.type == :rated ? o.rating : o.new_rating }
|
1234
|
+
|
1235
|
+
average_of_ratings = ratings.inject(0.0){ |m,r| m = m + r } / 6.0
|
1236
|
+
average_of_ratings.should_not be_within(0.5).of(@p.new_rating)
|
1237
|
+
|
1238
|
+
@t.iterations1.should be > 1
|
1239
|
+
@t.iterations2.should == 1
|
1240
|
+
end
|
1241
|
+
|
1242
|
+
it "should produce consistent results with more iterations after the bonus stage" do
|
1243
|
+
@t.rate!(max_iterations2: 30)
|
1244
|
+
|
1245
|
+
@p.new_rating.should_not be_within(0.5).of(763) # the new calculation is different
|
1246
|
+
|
1247
|
+
@o1.new_rating.should == @o1.performance
|
1248
|
+
@o2.bonus.should == 0
|
1249
|
+
@o3.new_rating.should == @o3.performance
|
1250
|
+
@o4.bonus.should == 0
|
1251
|
+
@o5.new_rating.should == @o5.performance
|
1252
|
+
@o6.new_rating.should == @o6.performance
|
1253
|
+
|
1254
|
+
ratings = [@o1, @o2, @o3, @o4, @o5, @o6].map { |o| o.type == :rated ? o.rating : o.new_rating }
|
1255
|
+
|
1256
|
+
average_of_ratings = ratings.inject(0.0){ |m,r| m = m + r } / 6.0
|
1257
|
+
average_of_ratings.should be_within(0.5).of(@p.new_rating)
|
1258
|
+
|
1259
|
+
@t.iterations1.should be > 1
|
1260
|
+
@t.iterations2.should be > 1
|
1261
|
+
end
|
1262
|
+
end
|
1263
|
+
|
1264
|
+
context "#rate - Sasha-Ettore Faleschini in the Bunratty Minor 2012" do
|
1265
|
+
before(:each) do
|
1266
|
+
@t = ICU::RatedTournament.new(desc: "Bunratty Minor 2012")
|
1267
|
+
|
1268
|
+
# Add the player's of most interest (Sasha-Ettore Faleschini and his opponents).
|
1269
|
+
@p = @t.add_player(1752, desc: "Sasha-Ettore Faleschini")
|
1270
|
+
@o1 = @t.add_player(1748, desc: "John P. Dunne", rating: 946, kfactor: 40)
|
1271
|
+
@o2 = @t.add_player(1755, desc: "Jack Fitzgerald", rating: 913, kfactor: 40)
|
1272
|
+
@o3 = @t.add_player(1766, desc: "Mikolaj Glegolski", rating: 841, kfactor: 40)
|
1273
|
+
@o4 = @t.add_player(1732, desc: "Daniel Boland", rating: 793, kfactor: 40)
|
1274
|
+
@o5 = @t.add_player(1776, desc: "Noel Keating", rating: 667, kfactor: 32)
|
1275
|
+
@o6 = @t.add_player(1798, desc: "Cathal Minnock", rating: 917, kfactor: 40)
|
1276
|
+
|
1277
|
+
# Add all the other players.
|
1278
|
+
@t.add_player(1730, desc: "Jeffrey Alfred", rating: 1058, kfactor: 40)
|
1279
|
+
@t.add_player(1731, desc: "Suliman Ali", rating: 1166, rating: 17)
|
1280
|
+
@t.add_player(1733, desc: "Dylan Boland")
|
1281
|
+
@t.add_player(1734, desc: "Shane Briggs", rating: 1079, kfactor: 24)
|
1282
|
+
@t.add_player(1735, desc: "Joe Browne", rating: 919, kfactor: 24)
|
1283
|
+
@t.add_player(1736, desc: "Kieran Burke", rating: 765, rating: 10)
|
1284
|
+
@t.add_player(1737, desc: "Liam Cadogan", rating: 1002, kfactor: 24)
|
1285
|
+
@t.add_player(1738, desc: "Evan Cahill", rating: 494, rating: 4)
|
1286
|
+
@t.add_player(1739, desc: "Joseph Cesar", rating: 751, kfactor: 40)
|
1287
|
+
@t.add_player(1740, desc: "Joshua Cesar", rating: 403, rating: 10)
|
1288
|
+
@t.add_player(1741, desc: "John G. Connolly", rating: 952, kfactor: 32)
|
1289
|
+
@t.add_player(1742, desc: "Fiona Cormican", rating: 483, kfactor: 32)
|
1290
|
+
@t.add_player(1743, desc: "Joe Cronin", rating: 601, rating: 6)
|
1291
|
+
@t.add_player(1744, desc: "Aaron Daly", rating: 699, rating: 12)
|
1292
|
+
@t.add_player(1745, desc: "Conor Devilly", rating: 676, kfactor: 40)
|
1293
|
+
@t.add_player(1746, desc: "Charles Dillon")
|
1294
|
+
@t.add_player(1747, desc: "Jack Donovan")
|
1295
|
+
@t.add_player(1749, desc: "Thomas Dunne", rating: 887, kfactor: 32)
|
1296
|
+
@t.add_player(1750, desc: "Michael Eyers", rating: 857, kfactor: 32)
|
1297
|
+
@t.add_player(1751, desc: "Sean Fagan", rating: 243, rating: 10)
|
1298
|
+
@t.add_player(1753, desc: "Victoria Fennell", rating: 166, rating: 11)
|
1299
|
+
@t.add_player(1754, desc: "Mark Finn-Lynch")
|
1300
|
+
@t.add_player(1756, desc: "Peter Fletcher", rating: 680, rating: 18)
|
1301
|
+
@t.add_player(1757, desc: "Darragh Flynn", rating: 296, kfactor: 40)
|
1302
|
+
@t.add_player(1758, desc: "Geordan Freeman", rating: 413, rating: 4)
|
1303
|
+
@t.add_player(1759, desc: "Ruairi Freeman", rating: 582, kfactor: 40)
|
1304
|
+
@t.add_player(1760, desc: "Aoife Gallagher")
|
1305
|
+
@t.add_player(1761, desc: "Hannah Gallagher")
|
1306
|
+
@t.add_player(1762, desc: "Tommy Gallagher")
|
1307
|
+
@t.add_player(1763, desc: "Leslie Garabedian")
|
1308
|
+
@t.add_player(1764, desc: "Alexander Gillett", rating: 850, rating: 19)
|
1309
|
+
@t.add_player(1765, desc: "Jan Glegolski", rating: 525, rating: 16)
|
1310
|
+
@t.add_player(1767, desc: "Mark Halley", rating: 1280, kfactor: 40)
|
1311
|
+
@t.add_player(1768, desc: "Siobhan Halley", rating: 434, rating: 18)
|
1312
|
+
@t.add_player(1769, desc: "Luke Hayden", rating: 781, rating: 6)
|
1313
|
+
@t.add_player(1770, desc: "Colm Hehir", rating: 564, rating: 16)
|
1314
|
+
@t.add_player(1771, desc: "Donal Hehir", rating: 424, rating: 6)
|
1315
|
+
@t.add_player(1772, desc: "Andrew Ingram", rating: 859, kfactor: 32)
|
1316
|
+
@t.add_player(1773, desc: "Rory Jackson")
|
1317
|
+
@t.add_player(1774, desc: "Tom Kearney", rating: 924, kfactor: 40)
|
1318
|
+
@t.add_player(1775, desc: "Jamie Kearns", rating: 753, rating: 11)
|
1319
|
+
@t.add_player(1777, desc: "Thomas Keating", rating: 864, kfactor: 40)
|
1320
|
+
@t.add_player(1778, desc: "Darragh Kennedy", rating: 1052, kfactor: 40)
|
1321
|
+
@t.add_player(1779, desc: "Stephen Kennedy", rating: 490, kfactor: 40)
|
1322
|
+
@t.add_player(1780, desc: "Jonathan Kiely", rating: 1117, kfactor: 24)
|
1323
|
+
@t.add_player(1781, desc: "Kevin Kilduff", rating: 1116, kfactor: 40)
|
1324
|
+
@t.add_player(1782, desc: "Conor Kirby MacGuill", rating: 410, rating: 9)
|
1325
|
+
@t.add_player(1783, desc: "Wiktor Kwapinski")
|
1326
|
+
@t.add_player(1784, desc: "Andrew Kyne-Delaney", rating: 869, kfactor: 40)
|
1327
|
+
@t.add_player(1785, desc: "Samuel Lenihan", rating: 683, kfactor: 40)
|
1328
|
+
@t.add_player(1786, desc: "Haoang Li", rating: 667, kfactor: 40)
|
1329
|
+
@t.add_player(1787, desc: "Stephen Li", rating: 880, rating: 17)
|
1330
|
+
@t.add_player(1788, desc: "Desmond Martin", rating: 1018, kfactor: 24)
|
1331
|
+
@t.add_player(1789, desc: "Clare McCarrick", rating: 805, kfactor: 40)
|
1332
|
+
@t.add_player(1790, desc: "Padraig McCullough", rating: 676, kfactor: 24)
|
1333
|
+
@t.add_player(1791, desc: "Finn McDonnell", rating: 740, kfactor: 40)
|
1334
|
+
@t.add_player(1792, desc: "Odhran McDonnell", rating: 752, kfactor: 40)
|
1335
|
+
@t.add_player(1793, desc: "John McGann", rating: 885, kfactor: 32)
|
1336
|
+
@t.add_player(1794, desc: "Tom McGrath", rating: 1076, kfactor: 40)
|
1337
|
+
@t.add_player(1795, desc: "Robbie Meaney", rating: 859, kfactor: 40)
|
1338
|
+
@t.add_player(1796, desc: "Stephen Meaney", rating: 782, kfactor: 40)
|
1339
|
+
@t.add_player(1797, desc: "Jacob Miller")
|
1340
|
+
@t.add_player(1799, desc: "Diarmuid Minnock", rating: 760, kfactor: 40)
|
1341
|
+
@t.add_player(1800, desc: "Michael Morgan", rating: 889, kfactor: 32)
|
1342
|
+
@t.add_player(1801, desc: "Alex Mulligan", rating: 603, rating: 17)
|
1343
|
+
@t.add_player(1802, desc: "Scott Mulligan", rating: 1100, kfactor: 40)
|
1344
|
+
@t.add_player(1803, desc: "Jessica Mulqueen-Danaher", rating: 286, kfactor: 40)
|
1345
|
+
@t.add_player(1804, desc: "Christopher Murphy", rating: 990, kfactor: 40)
|
1346
|
+
@t.add_player(1805, desc: "Aleksander Nalewajka")
|
1347
|
+
@t.add_player(1806, desc: "Eibhia Ni Mhuireagain", rating: 875, kfactor: 40)
|
1348
|
+
@t.add_player(1807, desc: "Dan O'Brien", rating: 789, kfactor: 40)
|
1349
|
+
@t.add_player(1808, desc: "Pat O'Brien", rating: 970, kfactor: 24)
|
1350
|
+
@t.add_player(1809, desc: "Michael Joseph O'Connell", rating: 1010, kfactor: 32)
|
1351
|
+
@t.add_player(1810, desc: "John P. O'Connor", rating: 242, rating: 6)
|
1352
|
+
@t.add_player(1811, desc: "Ross O'Connor", rating: 812, kfactor: 40)
|
1353
|
+
@t.add_player(1812, desc: "Colm O'Muireagain", rating: 950, kfactor: 32)
|
1354
|
+
@t.add_player(1813, desc: "Barry O'Reilly", rating: 736, rating: 6)
|
1355
|
+
@t.add_player(1814, desc: "Jim O'Reilly", rating: 784, kfactor: 40)
|
1356
|
+
@t.add_player(1815, desc: "David Piercy", rating: 970, kfactor: 32)
|
1357
|
+
@t.add_player(1816, desc: "Agnieszka Pozniak", rating: 906, kfactor: 40)
|
1358
|
+
@t.add_player(1817, desc: "Denis Savage")
|
1359
|
+
@t.add_player(1818, desc: "Fiachra Scallan", rating: 789, kfactor: 40)
|
1360
|
+
@t.add_player(1819, desc: "Nick Scallan", rating: 1034, kfactor: 32)
|
1361
|
+
@t.add_player(1820, desc: "John Shanley", rating: 1186, kfactor: 24)
|
1362
|
+
@t.add_player(1821, desc: "Stephen Sheehan")
|
1363
|
+
@t.add_player(1822, desc: "Kevin Singpurwala", rating: 790, kfactor: 40)
|
1364
|
+
@t.add_player(1823, desc: "Kaj Skubiszak")
|
1365
|
+
@t.add_player(1824, desc: "Jack Staed", rating: 133, rating: 10)
|
1366
|
+
@t.add_player(1825, desc: "Devin Tarleton", rating: 852, rating: 11)
|
1367
|
+
@t.add_player(1826, desc: "M. Thangaramanujam", rating: 813, kfactor: 24)
|
1368
|
+
@t.add_player(1827, desc: "Haley Tomlinson")
|
1369
|
+
@t.add_player(1828, desc: "Peter Urwin", rating: 848, kfactor: 40)
|
1370
|
+
@t.add_player(1829, desc: "Cian Wall", rating: 510, kfactor: 40)
|
1371
|
+
@t.add_player(1830, desc: "Robert Wall", rating: 855, kfactor: 24)
|
1372
|
+
@t.add_player(1831, desc: "Conor Ward")
|
1373
|
+
|
1374
|
+
# Add results.
|
1375
|
+
@t.add_result(1, 1730, 1757, "W")
|
1376
|
+
@t.add_result(1, 1731, 1778, "D")
|
1377
|
+
@t.add_result(1, 1732, 1797, "W")
|
1378
|
+
@t.add_result(1, 1733, 1819, "L")
|
1379
|
+
@t.add_result(1, 1734, 1779, "W")
|
1380
|
+
@t.add_result(1, 1735, 1758, "W")
|
1381
|
+
@t.add_result(1, 1736, 1815, "D")
|
1382
|
+
@t.add_result(1, 1737, 1740, "W")
|
1383
|
+
@t.add_result(1, 1738, 1808, "L")
|
1384
|
+
@t.add_result(1, 1739, 1809, "L")
|
1385
|
+
@t.add_result(1, 1740, 1737, "L")
|
1386
|
+
@t.add_result(1, 1741, 1746, "W")
|
1387
|
+
@t.add_result(1, 1742, 1767, "L")
|
1388
|
+
@t.add_result(1, 1743, 1804, "L")
|
1389
|
+
@t.add_result(1, 1744, 1755, "W")
|
1390
|
+
@t.add_result(1, 1745, 1825, "W")
|
1391
|
+
@t.add_result(1, 1746, 1741, "L")
|
1392
|
+
@t.add_result(1, 1747, 1781, "L")
|
1393
|
+
@t.add_result(1, 1748, 1752, "W")
|
1394
|
+
@t.add_result(1, 1749, 1759, "W")
|
1395
|
+
@t.add_result(1, 1750, 1764, "W")
|
1396
|
+
@t.add_result(1, 1751, 1812, "L")
|
1397
|
+
@t.add_result(1, 1752, 1748, "L")
|
1398
|
+
@t.add_result(1, 1753, 1774, "L")
|
1399
|
+
@t.add_result(1, 1754, 1798, "L")
|
1400
|
+
@t.add_result(1, 1755, 1744, "L")
|
1401
|
+
@t.add_result(1, 1756, 1794, "L")
|
1402
|
+
@t.add_result(1, 1757, 1730, "L")
|
1403
|
+
@t.add_result(1, 1758, 1735, "L")
|
1404
|
+
@t.add_result(1, 1759, 1749, "L")
|
1405
|
+
@t.add_result(1, 1760, 1800, "L")
|
1406
|
+
@t.add_result(1, 1761, 1784, "L")
|
1407
|
+
@t.add_result(1, 1762, 1806, "L")
|
1408
|
+
@t.add_result(1, 1763, 1772, "L")
|
1409
|
+
@t.add_result(1, 1764, 1750, "L")
|
1410
|
+
@t.add_result(1, 1767, 1742, "W")
|
1411
|
+
@t.add_result(1, 1768, 1830, "L")
|
1412
|
+
@t.add_result(1, 1769, 1777, "W")
|
1413
|
+
@t.add_result(1, 1770, 1826, "W")
|
1414
|
+
@t.add_result(1, 1771, 1814, "D")
|
1415
|
+
@t.add_result(1, 1772, 1763, "W")
|
1416
|
+
@t.add_result(1, 1773, 1795, "L")
|
1417
|
+
@t.add_result(1, 1774, 1753, "W")
|
1418
|
+
@t.add_result(1, 1775, 1789, "D")
|
1419
|
+
@t.add_result(1, 1776, 1828, "L")
|
1420
|
+
@t.add_result(1, 1777, 1769, "L")
|
1421
|
+
@t.add_result(1, 1778, 1731, "D")
|
1422
|
+
@t.add_result(1, 1779, 1734, "L")
|
1423
|
+
@t.add_result(1, 1780, 1829, "W")
|
1424
|
+
@t.add_result(1, 1781, 1747, "W")
|
1425
|
+
@t.add_result(1, 1782, 1811, "W")
|
1426
|
+
@t.add_result(1, 1784, 1761, "W")
|
1427
|
+
@t.add_result(1, 1785, 1831, "W")
|
1428
|
+
@t.add_result(1, 1786, 1817, "W")
|
1429
|
+
@t.add_result(1, 1788, 1803, "W")
|
1430
|
+
@t.add_result(1, 1789, 1775, "D")
|
1431
|
+
@t.add_result(1, 1790, 1827, "W")
|
1432
|
+
@t.add_result(1, 1791, 1821, "W")
|
1433
|
+
@t.add_result(1, 1792, 1820, "L")
|
1434
|
+
@t.add_result(1, 1793, 1816, "L")
|
1435
|
+
@t.add_result(1, 1794, 1756, "W")
|
1436
|
+
@t.add_result(1, 1795, 1773, "W")
|
1437
|
+
@t.add_result(1, 1796, 1813, "W")
|
1438
|
+
@t.add_result(1, 1797, 1732, "L")
|
1439
|
+
@t.add_result(1, 1798, 1754, "W")
|
1440
|
+
@t.add_result(1, 1799, 1802, "L")
|
1441
|
+
@t.add_result(1, 1800, 1760, "W")
|
1442
|
+
@t.add_result(1, 1801, 1822, "W")
|
1443
|
+
@t.add_result(1, 1802, 1799, "W")
|
1444
|
+
@t.add_result(1, 1803, 1788, "L")
|
1445
|
+
@t.add_result(1, 1804, 1743, "W")
|
1446
|
+
@t.add_result(1, 1806, 1762, "W")
|
1447
|
+
@t.add_result(1, 1807, 1824, "W")
|
1448
|
+
@t.add_result(1, 1808, 1738, "W")
|
1449
|
+
@t.add_result(1, 1809, 1739, "W")
|
1450
|
+
@t.add_result(1, 1810, 1818, "L")
|
1451
|
+
@t.add_result(1, 1811, 1782, "L")
|
1452
|
+
@t.add_result(1, 1812, 1751, "W")
|
1453
|
+
@t.add_result(1, 1813, 1796, "L")
|
1454
|
+
@t.add_result(1, 1814, 1771, "D")
|
1455
|
+
@t.add_result(1, 1815, 1736, "D")
|
1456
|
+
@t.add_result(1, 1816, 1793, "W")
|
1457
|
+
@t.add_result(1, 1817, 1786, "L")
|
1458
|
+
@t.add_result(1, 1818, 1810, "W")
|
1459
|
+
@t.add_result(1, 1819, 1733, "W")
|
1460
|
+
@t.add_result(1, 1820, 1792, "W")
|
1461
|
+
@t.add_result(1, 1821, 1791, "L")
|
1462
|
+
@t.add_result(1, 1822, 1801, "L")
|
1463
|
+
@t.add_result(1, 1824, 1807, "L")
|
1464
|
+
@t.add_result(1, 1825, 1745, "L")
|
1465
|
+
@t.add_result(1, 1826, 1770, "L")
|
1466
|
+
@t.add_result(1, 1827, 1790, "L")
|
1467
|
+
@t.add_result(1, 1828, 1776, "W")
|
1468
|
+
@t.add_result(1, 1829, 1780, "L")
|
1469
|
+
@t.add_result(1, 1830, 1768, "W")
|
1470
|
+
@t.add_result(1, 1831, 1785, "L")
|
1471
|
+
@t.add_result(2, 1730, 1750, "D")
|
1472
|
+
@t.add_result(2, 1731, 1805, "W")
|
1473
|
+
@t.add_result(2, 1732, 1809, "L")
|
1474
|
+
@t.add_result(2, 1733, 1810, "D")
|
1475
|
+
@t.add_result(2, 1734, 1830, "D")
|
1476
|
+
@t.add_result(2, 1735, 1802, "L")
|
1477
|
+
@t.add_result(2, 1736, 1823, "W")
|
1478
|
+
@t.add_result(2, 1737, 1807, "L")
|
1479
|
+
@t.add_result(2, 1738, 1817, "L")
|
1480
|
+
@t.add_result(2, 1739, 1797, "L")
|
1481
|
+
@t.add_result(2, 1740, 1824, "W")
|
1482
|
+
@t.add_result(2, 1741, 1791, "L")
|
1483
|
+
@t.add_result(2, 1742, 1764, "D")
|
1484
|
+
@t.add_result(2, 1743, 1813, "W")
|
1485
|
+
@t.add_result(2, 1744, 1774, "W")
|
1486
|
+
@t.add_result(2, 1745, 1812, "W")
|
1487
|
+
@t.add_result(2, 1746, 1821, "W")
|
1488
|
+
@t.add_result(2, 1747, 1827, "W")
|
1489
|
+
@t.add_result(2, 1748, 1785, "W")
|
1490
|
+
@t.add_result(2, 1749, 1801, "W")
|
1491
|
+
@t.add_result(2, 1750, 1730, "D")
|
1492
|
+
@t.add_result(2, 1751, 1825, "L")
|
1493
|
+
@t.add_result(2, 1752, 1755, "W")
|
1494
|
+
@t.add_result(2, 1753, 1793, "L")
|
1495
|
+
@t.add_result(2, 1754, 1777, "L")
|
1496
|
+
@t.add_result(2, 1755, 1752, "L")
|
1497
|
+
@t.add_result(2, 1756, 1826, "D")
|
1498
|
+
@t.add_result(2, 1757, 1768, "W")
|
1499
|
+
@t.add_result(2, 1758, 1799, "L")
|
1500
|
+
@t.add_result(2, 1759, 1811, "L")
|
1501
|
+
@t.add_result(2, 1760, 1776, "L")
|
1502
|
+
@t.add_result(2, 1761, 1822, "L")
|
1503
|
+
@t.add_result(2, 1762, 1792, "L")
|
1504
|
+
@t.add_result(2, 1763, 1829, "L")
|
1505
|
+
@t.add_result(2, 1764, 1742, "D")
|
1506
|
+
@t.add_result(2, 1765, 1778, "L")
|
1507
|
+
@t.add_result(2, 1766, 1771, "D")
|
1508
|
+
@t.add_result(2, 1767, 1806, "W")
|
1509
|
+
@t.add_result(2, 1768, 1757, "L")
|
1510
|
+
@t.add_result(2, 1769, 1798, "W")
|
1511
|
+
@t.add_result(2, 1770, 1794, "L")
|
1512
|
+
@t.add_result(2, 1771, 1766, "D")
|
1513
|
+
@t.add_result(2, 1772, 1780, "W")
|
1514
|
+
@t.add_result(2, 1773, 1803, "L")
|
1515
|
+
@t.add_result(2, 1774, 1744, "L")
|
1516
|
+
@t.add_result(2, 1775, 1814, "L")
|
1517
|
+
@t.add_result(2, 1776, 1760, "W")
|
1518
|
+
@t.add_result(2, 1777, 1754, "W")
|
1519
|
+
@t.add_result(2, 1778, 1765, "W")
|
1520
|
+
@t.add_result(2, 1780, 1772, "L")
|
1521
|
+
@t.add_result(2, 1781, 1790, "W")
|
1522
|
+
@t.add_result(2, 1782, 1816, "L")
|
1523
|
+
@t.add_result(2, 1783, 1815, "L")
|
1524
|
+
@t.add_result(2, 1784, 1820, "W")
|
1525
|
+
@t.add_result(2, 1785, 1748, "L")
|
1526
|
+
@t.add_result(2, 1786, 1808, "L")
|
1527
|
+
@t.add_result(2, 1787, 1789, "W")
|
1528
|
+
@t.add_result(2, 1788, 1795, "D")
|
1529
|
+
@t.add_result(2, 1789, 1787, "L")
|
1530
|
+
@t.add_result(2, 1790, 1781, "L")
|
1531
|
+
@t.add_result(2, 1791, 1741, "W")
|
1532
|
+
@t.add_result(2, 1792, 1762, "W")
|
1533
|
+
@t.add_result(2, 1793, 1753, "W")
|
1534
|
+
@t.add_result(2, 1794, 1770, "W")
|
1535
|
+
@t.add_result(2, 1795, 1788, "D")
|
1536
|
+
@t.add_result(2, 1796, 1804, "W")
|
1537
|
+
@t.add_result(2, 1797, 1739, "W")
|
1538
|
+
@t.add_result(2, 1798, 1769, "L")
|
1539
|
+
@t.add_result(2, 1799, 1758, "W")
|
1540
|
+
@t.add_result(2, 1800, 1828, "L")
|
1541
|
+
@t.add_result(2, 1801, 1749, "L")
|
1542
|
+
@t.add_result(2, 1802, 1735, "W")
|
1543
|
+
@t.add_result(2, 1803, 1773, "W")
|
1544
|
+
@t.add_result(2, 1804, 1796, "L")
|
1545
|
+
@t.add_result(2, 1805, 1731, "L")
|
1546
|
+
@t.add_result(2, 1806, 1767, "L")
|
1547
|
+
@t.add_result(2, 1807, 1737, "W")
|
1548
|
+
@t.add_result(2, 1808, 1786, "W")
|
1549
|
+
@t.add_result(2, 1809, 1732, "W")
|
1550
|
+
@t.add_result(2, 1810, 1733, "D")
|
1551
|
+
@t.add_result(2, 1811, 1759, "W")
|
1552
|
+
@t.add_result(2, 1812, 1745, "L")
|
1553
|
+
@t.add_result(2, 1813, 1743, "L")
|
1554
|
+
@t.add_result(2, 1814, 1775, "W")
|
1555
|
+
@t.add_result(2, 1815, 1783, "W")
|
1556
|
+
@t.add_result(2, 1816, 1782, "W")
|
1557
|
+
@t.add_result(2, 1817, 1738, "W")
|
1558
|
+
@t.add_result(2, 1818, 1819, "L")
|
1559
|
+
@t.add_result(2, 1819, 1818, "W")
|
1560
|
+
@t.add_result(2, 1820, 1784, "L")
|
1561
|
+
@t.add_result(2, 1821, 1746, "L")
|
1562
|
+
@t.add_result(2, 1822, 1761, "W")
|
1563
|
+
@t.add_result(2, 1823, 1736, "L")
|
1564
|
+
@t.add_result(2, 1824, 1740, "L")
|
1565
|
+
@t.add_result(2, 1825, 1751, "W")
|
1566
|
+
@t.add_result(2, 1826, 1756, "D")
|
1567
|
+
@t.add_result(2, 1827, 1747, "L")
|
1568
|
+
@t.add_result(2, 1828, 1800, "W")
|
1569
|
+
@t.add_result(2, 1829, 1763, "W")
|
1570
|
+
@t.add_result(2, 1830, 1734, "D")
|
1571
|
+
@t.add_result(3, 1730, 1814, "W")
|
1572
|
+
@t.add_result(3, 1731, 1815, "L")
|
1573
|
+
@t.add_result(3, 1732, 1825, "L")
|
1574
|
+
@t.add_result(3, 1733, 1783, "W")
|
1575
|
+
@t.add_result(3, 1734, 1828, "L")
|
1576
|
+
@t.add_result(3, 1735, 1803, "W")
|
1577
|
+
@t.add_result(3, 1736, 1778, "L")
|
1578
|
+
@t.add_result(3, 1737, 1790, "W")
|
1579
|
+
@t.add_result(3, 1738, 1761, "W")
|
1580
|
+
@t.add_result(3, 1739, 1762, "W")
|
1581
|
+
@t.add_result(3, 1740, 1800, "L")
|
1582
|
+
@t.add_result(3, 1741, 1757, "W")
|
1583
|
+
@t.add_result(3, 1742, 1775, "L")
|
1584
|
+
@t.add_result(3, 1743, 1812, "L")
|
1585
|
+
@t.add_result(3, 1744, 1749, "W")
|
1586
|
+
@t.add_result(3, 1745, 1816, "D")
|
1587
|
+
@t.add_result(3, 1746, 1774, "W")
|
1588
|
+
@t.add_result(3, 1747, 1806, "L")
|
1589
|
+
@t.add_result(3, 1748, 1802, "L")
|
1590
|
+
@t.add_result(3, 1749, 1744, "L")
|
1591
|
+
@t.add_result(3, 1750, 1787, "L")
|
1592
|
+
@t.add_result(3, 1751, 1768, "D")
|
1593
|
+
@t.add_result(3, 1752, 1766, "L")
|
1594
|
+
@t.add_result(3, 1753, 1773, "L")
|
1595
|
+
@t.add_result(3, 1754, 1813, "W")
|
1596
|
+
@t.add_result(3, 1755, 1760, "W")
|
1597
|
+
@t.add_result(3, 1756, 1823, "W")
|
1598
|
+
@t.add_result(3, 1757, 1741, "L")
|
1599
|
+
@t.add_result(3, 1758, 1824, "L")
|
1600
|
+
@t.add_result(3, 1759, 1821, "L")
|
1601
|
+
@t.add_result(3, 1760, 1755, "L")
|
1602
|
+
@t.add_result(3, 1761, 1738, "L")
|
1603
|
+
@t.add_result(3, 1762, 1739, "L")
|
1604
|
+
@t.add_result(3, 1764, 1810, "W")
|
1605
|
+
@t.add_result(3, 1765, 1826, "L")
|
1606
|
+
@t.add_result(3, 1766, 1752, "W")
|
1607
|
+
@t.add_result(3, 1767, 1784, "W")
|
1608
|
+
@t.add_result(3, 1768, 1751, "D")
|
1609
|
+
@t.add_result(3, 1769, 1781, "L")
|
1610
|
+
@t.add_result(3, 1770, 1811, "D")
|
1611
|
+
@t.add_result(3, 1771, 1777, "L")
|
1612
|
+
@t.add_result(3, 1772, 1819, "L")
|
1613
|
+
@t.add_result(3, 1773, 1753, "W")
|
1614
|
+
@t.add_result(3, 1774, 1746, "L")
|
1615
|
+
@t.add_result(3, 1775, 1742, "W")
|
1616
|
+
@t.add_result(3, 1776, 1820, "L")
|
1617
|
+
@t.add_result(3, 1777, 1771, "W")
|
1618
|
+
@t.add_result(3, 1778, 1736, "W")
|
1619
|
+
@t.add_result(3, 1779, 1805, "L")
|
1620
|
+
@t.add_result(3, 1780, 1795, "L")
|
1621
|
+
@t.add_result(3, 1781, 1769, "W")
|
1622
|
+
@t.add_result(3, 1782, 1822, "L")
|
1623
|
+
@t.add_result(3, 1783, 1733, "L")
|
1624
|
+
@t.add_result(3, 1784, 1767, "L")
|
1625
|
+
@t.add_result(3, 1785, 1798, "W")
|
1626
|
+
@t.add_result(3, 1786, 1801, "W")
|
1627
|
+
@t.add_result(3, 1787, 1750, "W")
|
1628
|
+
@t.add_result(3, 1788, 1830, "W")
|
1629
|
+
@t.add_result(3, 1789, 1797, "L")
|
1630
|
+
@t.add_result(3, 1790, 1737, "L")
|
1631
|
+
@t.add_result(3, 1791, 1794, "D")
|
1632
|
+
@t.add_result(3, 1792, 1804, "L")
|
1633
|
+
@t.add_result(3, 1793, 1829, "W")
|
1634
|
+
@t.add_result(3, 1794, 1791, "D")
|
1635
|
+
@t.add_result(3, 1795, 1780, "W")
|
1636
|
+
@t.add_result(3, 1796, 1809, "W")
|
1637
|
+
@t.add_result(3, 1797, 1789, "W")
|
1638
|
+
@t.add_result(3, 1798, 1785, "L")
|
1639
|
+
@t.add_result(3, 1799, 1831, "W")
|
1640
|
+
@t.add_result(3, 1800, 1740, "W")
|
1641
|
+
@t.add_result(3, 1801, 1786, "L")
|
1642
|
+
@t.add_result(3, 1802, 1748, "W")
|
1643
|
+
@t.add_result(3, 1803, 1735, "L")
|
1644
|
+
@t.add_result(3, 1804, 1792, "W")
|
1645
|
+
@t.add_result(3, 1805, 1779, "W")
|
1646
|
+
@t.add_result(3, 1806, 1747, "W")
|
1647
|
+
@t.add_result(3, 1807, 1808, "L")
|
1648
|
+
@t.add_result(3, 1808, 1807, "W")
|
1649
|
+
@t.add_result(3, 1809, 1796, "L")
|
1650
|
+
@t.add_result(3, 1810, 1764, "L")
|
1651
|
+
@t.add_result(3, 1811, 1770, "D")
|
1652
|
+
@t.add_result(3, 1812, 1743, "W")
|
1653
|
+
@t.add_result(3, 1813, 1754, "L")
|
1654
|
+
@t.add_result(3, 1814, 1730, "L")
|
1655
|
+
@t.add_result(3, 1815, 1731, "W")
|
1656
|
+
@t.add_result(3, 1816, 1745, "D")
|
1657
|
+
@t.add_result(3, 1817, 1818, "L")
|
1658
|
+
@t.add_result(3, 1818, 1817, "W")
|
1659
|
+
@t.add_result(3, 1819, 1772, "W")
|
1660
|
+
@t.add_result(3, 1820, 1776, "W")
|
1661
|
+
@t.add_result(3, 1821, 1759, "W")
|
1662
|
+
@t.add_result(3, 1822, 1782, "W")
|
1663
|
+
@t.add_result(3, 1823, 1756, "L")
|
1664
|
+
@t.add_result(3, 1824, 1758, "W")
|
1665
|
+
@t.add_result(3, 1825, 1732, "W")
|
1666
|
+
@t.add_result(3, 1826, 1765, "W")
|
1667
|
+
@t.add_result(3, 1828, 1734, "W")
|
1668
|
+
@t.add_result(3, 1829, 1793, "L")
|
1669
|
+
@t.add_result(3, 1830, 1788, "L")
|
1670
|
+
@t.add_result(3, 1831, 1799, "L")
|
1671
|
+
@t.add_result(4, 1730, 1795, "D")
|
1672
|
+
@t.add_result(4, 1731, 1764, "W")
|
1673
|
+
@t.add_result(4, 1732, 1752, "W")
|
1674
|
+
@t.add_result(4, 1733, 1734, "L")
|
1675
|
+
@t.add_result(4, 1734, 1733, "W")
|
1676
|
+
@t.add_result(4, 1735, 1785, "W")
|
1677
|
+
@t.add_result(4, 1736, 1826, "L")
|
1678
|
+
@t.add_result(4, 1737, 1822, "L")
|
1679
|
+
@t.add_result(4, 1738, 1824, "W")
|
1680
|
+
@t.add_result(4, 1739, 1831, "L")
|
1681
|
+
@t.add_result(4, 1740, 1780, "L")
|
1682
|
+
@t.add_result(4, 1741, 1799, "D")
|
1683
|
+
@t.add_result(4, 1742, 1783, "L")
|
1684
|
+
@t.add_result(4, 1743, 1755, "L")
|
1685
|
+
@t.add_result(4, 1744, 1819, "D")
|
1686
|
+
@t.add_result(4, 1745, 1815, "W")
|
1687
|
+
@t.add_result(4, 1746, 1749, "W")
|
1688
|
+
@t.add_result(4, 1747, 1798, "L")
|
1689
|
+
@t.add_result(4, 1748, 1786, "W")
|
1690
|
+
@t.add_result(4, 1749, 1746, "L")
|
1691
|
+
@t.add_result(4, 1750, 1775, "L")
|
1692
|
+
@t.add_result(4, 1751, 1827, "W")
|
1693
|
+
@t.add_result(4, 1752, 1732, "L")
|
1694
|
+
@t.add_result(4, 1753, 1810, "L")
|
1695
|
+
@t.add_result(4, 1754, 1776, "W")
|
1696
|
+
@t.add_result(4, 1755, 1743, "W")
|
1697
|
+
@t.add_result(4, 1756, 1811, "L")
|
1698
|
+
@t.add_result(4, 1757, 1821, "D")
|
1699
|
+
@t.add_result(4, 1758, 1761, "W")
|
1700
|
+
@t.add_result(4, 1759, 1762, "L")
|
1701
|
+
@t.add_result(4, 1760, 1813, "L")
|
1702
|
+
@t.add_result(4, 1761, 1758, "L")
|
1703
|
+
@t.add_result(4, 1762, 1759, "W")
|
1704
|
+
@t.add_result(4, 1763, 1768, "D")
|
1705
|
+
@t.add_result(4, 1764, 1731, "L")
|
1706
|
+
@t.add_result(4, 1765, 1789, "L")
|
1707
|
+
@t.add_result(4, 1766, 1809, "L")
|
1708
|
+
@t.add_result(4, 1767, 1796, "W")
|
1709
|
+
@t.add_result(4, 1768, 1763, "D")
|
1710
|
+
@t.add_result(4, 1769, 1800, "L")
|
1711
|
+
@t.add_result(4, 1770, 1830, "L")
|
1712
|
+
@t.add_result(4, 1771, 1792, "L")
|
1713
|
+
@t.add_result(4, 1772, 1820, "L")
|
1714
|
+
@t.add_result(4, 1773, 1774, "W")
|
1715
|
+
@t.add_result(4, 1774, 1773, "L")
|
1716
|
+
@t.add_result(4, 1775, 1750, "W")
|
1717
|
+
@t.add_result(4, 1776, 1754, "L")
|
1718
|
+
@t.add_result(4, 1777, 1804, "D")
|
1719
|
+
@t.add_result(4, 1778, 1791, "W")
|
1720
|
+
@t.add_result(4, 1779, 1823, "W")
|
1721
|
+
@t.add_result(4, 1780, 1740, "W")
|
1722
|
+
@t.add_result(4, 1781, 1828, "L")
|
1723
|
+
@t.add_result(4, 1782, 1790, "L")
|
1724
|
+
@t.add_result(4, 1783, 1742, "W")
|
1725
|
+
@t.add_result(4, 1784, 1797, "L")
|
1726
|
+
@t.add_result(4, 1785, 1735, "L")
|
1727
|
+
@t.add_result(4, 1786, 1748, "L")
|
1728
|
+
@t.add_result(4, 1787, 1794, "L")
|
1729
|
+
@t.add_result(4, 1788, 1816, "L")
|
1730
|
+
@t.add_result(4, 1789, 1765, "W")
|
1731
|
+
@t.add_result(4, 1790, 1782, "W")
|
1732
|
+
@t.add_result(4, 1791, 1778, "L")
|
1733
|
+
@t.add_result(4, 1792, 1771, "W")
|
1734
|
+
@t.add_result(4, 1793, 1807, "W")
|
1735
|
+
@t.add_result(4, 1794, 1787, "W")
|
1736
|
+
@t.add_result(4, 1795, 1730, "D")
|
1737
|
+
@t.add_result(4, 1796, 1767, "L")
|
1738
|
+
@t.add_result(4, 1797, 1784, "W")
|
1739
|
+
@t.add_result(4, 1798, 1747, "W")
|
1740
|
+
@t.add_result(4, 1799, 1741, "D")
|
1741
|
+
@t.add_result(4, 1800, 1769, "W")
|
1742
|
+
@t.add_result(4, 1801, 1829, "W")
|
1743
|
+
@t.add_result(4, 1802, 1808, "D")
|
1744
|
+
@t.add_result(4, 1803, 1817, "L")
|
1745
|
+
@t.add_result(4, 1804, 1777, "D")
|
1746
|
+
@t.add_result(4, 1805, 1814, "L")
|
1747
|
+
@t.add_result(4, 1806, 1825, "W")
|
1748
|
+
@t.add_result(4, 1807, 1793, "L")
|
1749
|
+
@t.add_result(4, 1808, 1802, "D")
|
1750
|
+
@t.add_result(4, 1809, 1766, "W")
|
1751
|
+
@t.add_result(4, 1810, 1753, "W")
|
1752
|
+
@t.add_result(4, 1811, 1756, "W")
|
1753
|
+
@t.add_result(4, 1812, 1818, "L")
|
1754
|
+
@t.add_result(4, 1813, 1760, "W")
|
1755
|
+
@t.add_result(4, 1814, 1805, "W")
|
1756
|
+
@t.add_result(4, 1815, 1745, "L")
|
1757
|
+
@t.add_result(4, 1816, 1788, "W")
|
1758
|
+
@t.add_result(4, 1817, 1803, "W")
|
1759
|
+
@t.add_result(4, 1818, 1812, "W")
|
1760
|
+
@t.add_result(4, 1819, 1744, "D")
|
1761
|
+
@t.add_result(4, 1820, 1772, "W")
|
1762
|
+
@t.add_result(4, 1821, 1757, "D")
|
1763
|
+
@t.add_result(4, 1822, 1737, "W")
|
1764
|
+
@t.add_result(4, 1823, 1779, "L")
|
1765
|
+
@t.add_result(4, 1824, 1738, "L")
|
1766
|
+
@t.add_result(4, 1825, 1806, "L")
|
1767
|
+
@t.add_result(4, 1826, 1736, "W")
|
1768
|
+
@t.add_result(4, 1827, 1751, "L")
|
1769
|
+
@t.add_result(4, 1828, 1781, "W")
|
1770
|
+
@t.add_result(4, 1829, 1801, "L")
|
1771
|
+
@t.add_result(4, 1830, 1770, "W")
|
1772
|
+
@t.add_result(4, 1831, 1739, "W")
|
1773
|
+
@t.add_result(5, 1730, 1806, "W")
|
1774
|
+
@t.add_result(5, 1731, 1741, "W")
|
1775
|
+
@t.add_result(5, 1732, 1831, "W")
|
1776
|
+
@t.add_result(5, 1733, 1756, "L")
|
1777
|
+
@t.add_result(5, 1734, 1811, "D")
|
1778
|
+
@t.add_result(5, 1735, 1797, "W")
|
1779
|
+
@t.add_result(5, 1736, 1810, "W")
|
1780
|
+
@t.add_result(5, 1737, 1785, "L")
|
1781
|
+
@t.add_result(5, 1738, 1798, "W")
|
1782
|
+
@t.add_result(5, 1739, 1771, "D")
|
1783
|
+
@t.add_result(5, 1740, 1782, "W")
|
1784
|
+
@t.add_result(5, 1741, 1731, "L")
|
1785
|
+
@t.add_result(5, 1742, 1823, "W")
|
1786
|
+
@t.add_result(5, 1743, 1824, "W")
|
1787
|
+
@t.add_result(5, 1744, 1808, "D")
|
1788
|
+
@t.add_result(5, 1745, 1794, "L")
|
1789
|
+
@t.add_result(5, 1746, 1788, "D")
|
1790
|
+
@t.add_result(5, 1747, 1813, "L")
|
1791
|
+
@t.add_result(5, 1748, 1818, "W")
|
1792
|
+
@t.add_result(5, 1749, 1817, "W")
|
1793
|
+
@t.add_result(5, 1750, 1801, "W")
|
1794
|
+
@t.add_result(5, 1751, 1821, "L")
|
1795
|
+
@t.add_result(5, 1752, 1776, "W")
|
1796
|
+
@t.add_result(5, 1753, 1761, "W")
|
1797
|
+
@t.add_result(5, 1754, 1784, "L")
|
1798
|
+
@t.add_result(5, 1755, 1790, "L")
|
1799
|
+
@t.add_result(5, 1756, 1733, "W")
|
1800
|
+
@t.add_result(5, 1757, 1805, "L")
|
1801
|
+
@t.add_result(5, 1758, 1829, "L")
|
1802
|
+
@t.add_result(5, 1759, 1760, "W")
|
1803
|
+
@t.add_result(5, 1760, 1759, "L")
|
1804
|
+
@t.add_result(5, 1761, 1753, "L")
|
1805
|
+
@t.add_result(5, 1762, 1765, "D")
|
1806
|
+
@t.add_result(5, 1764, 1789, "W")
|
1807
|
+
@t.add_result(5, 1765, 1762, "D")
|
1808
|
+
@t.add_result(5, 1766, 1825, "W")
|
1809
|
+
@t.add_result(5, 1767, 1828, "W")
|
1810
|
+
@t.add_result(5, 1768, 1803, "L")
|
1811
|
+
@t.add_result(5, 1769, 1772, "L")
|
1812
|
+
@t.add_result(5, 1770, 1774, "D")
|
1813
|
+
@t.add_result(5, 1771, 1739, "D")
|
1814
|
+
@t.add_result(5, 1772, 1769, "W")
|
1815
|
+
@t.add_result(5, 1773, 1786, "D")
|
1816
|
+
@t.add_result(5, 1774, 1770, "D")
|
1817
|
+
@t.add_result(5, 1775, 1777, "W")
|
1818
|
+
@t.add_result(5, 1776, 1752, "L")
|
1819
|
+
@t.add_result(5, 1777, 1775, "L")
|
1820
|
+
@t.add_result(5, 1778, 1816, "W")
|
1821
|
+
@t.add_result(5, 1779, 1783, "W")
|
1822
|
+
@t.add_result(5, 1780, 1807, "W")
|
1823
|
+
@t.add_result(5, 1781, 1822, "L")
|
1824
|
+
@t.add_result(5, 1782, 1740, "L")
|
1825
|
+
@t.add_result(5, 1783, 1779, "L")
|
1826
|
+
@t.add_result(5, 1784, 1754, "W")
|
1827
|
+
@t.add_result(5, 1785, 1737, "W")
|
1828
|
+
@t.add_result(5, 1786, 1773, "D")
|
1829
|
+
@t.add_result(5, 1787, 1826, "W")
|
1830
|
+
@t.add_result(5, 1788, 1746, "D")
|
1831
|
+
@t.add_result(5, 1789, 1764, "L")
|
1832
|
+
@t.add_result(5, 1790, 1755, "W")
|
1833
|
+
@t.add_result(5, 1791, 1830, "L")
|
1834
|
+
@t.add_result(5, 1792, 1812, "L")
|
1835
|
+
@t.add_result(5, 1793, 1796, "W")
|
1836
|
+
@t.add_result(5, 1794, 1745, "W")
|
1837
|
+
@t.add_result(5, 1795, 1809, "L")
|
1838
|
+
@t.add_result(5, 1796, 1793, "L")
|
1839
|
+
@t.add_result(5, 1797, 1735, "L")
|
1840
|
+
@t.add_result(5, 1798, 1738, "L")
|
1841
|
+
@t.add_result(5, 1799, 1804, "D")
|
1842
|
+
@t.add_result(5, 1800, 1820, "W")
|
1843
|
+
@t.add_result(5, 1801, 1750, "L")
|
1844
|
+
@t.add_result(5, 1802, 1819, "L")
|
1845
|
+
@t.add_result(5, 1803, 1768, "W")
|
1846
|
+
@t.add_result(5, 1804, 1799, "D")
|
1847
|
+
@t.add_result(5, 1805, 1757, "W")
|
1848
|
+
@t.add_result(5, 1806, 1730, "L")
|
1849
|
+
@t.add_result(5, 1807, 1780, "L")
|
1850
|
+
@t.add_result(5, 1808, 1744, "D")
|
1851
|
+
@t.add_result(5, 1809, 1795, "W")
|
1852
|
+
@t.add_result(5, 1810, 1736, "L")
|
1853
|
+
@t.add_result(5, 1811, 1734, "D")
|
1854
|
+
@t.add_result(5, 1812, 1792, "W")
|
1855
|
+
@t.add_result(5, 1813, 1747, "W")
|
1856
|
+
@t.add_result(5, 1814, 1815, "W")
|
1857
|
+
@t.add_result(5, 1815, 1814, "L")
|
1858
|
+
@t.add_result(5, 1816, 1778, "L")
|
1859
|
+
@t.add_result(5, 1817, 1749, "L")
|
1860
|
+
@t.add_result(5, 1818, 1748, "L")
|
1861
|
+
@t.add_result(5, 1819, 1802, "W")
|
1862
|
+
@t.add_result(5, 1820, 1800, "L")
|
1863
|
+
@t.add_result(5, 1821, 1751, "W")
|
1864
|
+
@t.add_result(5, 1822, 1781, "W")
|
1865
|
+
@t.add_result(5, 1823, 1742, "L")
|
1866
|
+
@t.add_result(5, 1824, 1743, "L")
|
1867
|
+
@t.add_result(5, 1825, 1766, "L")
|
1868
|
+
@t.add_result(5, 1826, 1787, "L")
|
1869
|
+
@t.add_result(5, 1828, 1767, "L")
|
1870
|
+
@t.add_result(5, 1829, 1758, "W")
|
1871
|
+
@t.add_result(5, 1830, 1791, "W")
|
1872
|
+
@t.add_result(5, 1831, 1732, "L")
|
1873
|
+
@t.add_result(6, 1730, 1735, "L")
|
1874
|
+
@t.add_result(6, 1731, 1830, "W")
|
1875
|
+
@t.add_result(6, 1732, 1804, "D")
|
1876
|
+
@t.add_result(6, 1733, 1763, "W")
|
1877
|
+
@t.add_result(6, 1734, 1795, "L")
|
1878
|
+
@t.add_result(6, 1735, 1730, "W")
|
1879
|
+
@t.add_result(6, 1736, 1741, "L")
|
1880
|
+
@t.add_result(6, 1737, 1821, "D")
|
1881
|
+
@t.add_result(6, 1738, 1772, "L")
|
1882
|
+
@t.add_result(6, 1739, 1783, "W")
|
1883
|
+
@t.add_result(6, 1740, 1817, "L")
|
1884
|
+
@t.add_result(6, 1741, 1736, "W")
|
1885
|
+
@t.add_result(6, 1742, 1831, "D")
|
1886
|
+
@t.add_result(6, 1743, 1825, "L")
|
1887
|
+
@t.add_result(6, 1744, 1793, "W")
|
1888
|
+
@t.add_result(6, 1745, 1802, "L")
|
1889
|
+
@t.add_result(6, 1746, 1820, "W")
|
1890
|
+
@t.add_result(6, 1747, 1768, "W")
|
1891
|
+
@t.add_result(6, 1748, 1828, "W")
|
1892
|
+
@t.add_result(6, 1749, 1796, "D")
|
1893
|
+
@t.add_result(6, 1750, 1756, "W")
|
1894
|
+
@t.add_result(6, 1751, 1810, "L")
|
1895
|
+
@t.add_result(6, 1752, 1798, "L")
|
1896
|
+
@t.add_result(6, 1753, 1782, "L")
|
1897
|
+
@t.add_result(6, 1754, 1755, "L")
|
1898
|
+
@t.add_result(6, 1755, 1754, "W")
|
1899
|
+
@t.add_result(6, 1756, 1750, "L")
|
1900
|
+
@t.add_result(6, 1757, 1771, "L")
|
1901
|
+
@t.add_result(6, 1758, 1827, "W")
|
1902
|
+
@t.add_result(6, 1759, 1824, "W")
|
1903
|
+
@t.add_result(6, 1761, 1823, "L")
|
1904
|
+
@t.add_result(6, 1762, 1774, "L")
|
1905
|
+
@t.add_result(6, 1763, 1733, "L")
|
1906
|
+
@t.add_result(6, 1764, 1791, "W")
|
1907
|
+
@t.add_result(6, 1765, 1776, "W")
|
1908
|
+
@t.add_result(6, 1766, 1788, "D")
|
1909
|
+
@t.add_result(6, 1767, 1778, "W")
|
1910
|
+
@t.add_result(6, 1768, 1747, "L")
|
1911
|
+
@t.add_result(6, 1769, 1792, "L")
|
1912
|
+
@t.add_result(6, 1770, 1807, "W")
|
1913
|
+
@t.add_result(6, 1771, 1757, "W")
|
1914
|
+
@t.add_result(6, 1772, 1738, "W")
|
1915
|
+
@t.add_result(6, 1773, 1826, "L")
|
1916
|
+
@t.add_result(6, 1774, 1762, "W")
|
1917
|
+
@t.add_result(6, 1775, 1816, "L")
|
1918
|
+
@t.add_result(6, 1776, 1765, "L")
|
1919
|
+
@t.add_result(6, 1777, 1797, "L")
|
1920
|
+
@t.add_result(6, 1778, 1767, "L")
|
1921
|
+
@t.add_result(6, 1780, 1811, "L")
|
1922
|
+
@t.add_result(6, 1781, 1818, "W")
|
1923
|
+
@t.add_result(6, 1782, 1753, "W")
|
1924
|
+
@t.add_result(6, 1783, 1739, "L")
|
1925
|
+
@t.add_result(6, 1784, 1790, "D")
|
1926
|
+
@t.add_result(6, 1785, 1806, "W")
|
1927
|
+
@t.add_result(6, 1786, 1805, "W")
|
1928
|
+
@t.add_result(6, 1787, 1814, "L")
|
1929
|
+
@t.add_result(6, 1788, 1766, "D")
|
1930
|
+
@t.add_result(6, 1790, 1784, "D")
|
1931
|
+
@t.add_result(6, 1791, 1764, "L")
|
1932
|
+
@t.add_result(6, 1792, 1769, "W")
|
1933
|
+
@t.add_result(6, 1793, 1744, "L")
|
1934
|
+
@t.add_result(6, 1794, 1819, "D")
|
1935
|
+
@t.add_result(6, 1795, 1734, "W")
|
1936
|
+
@t.add_result(6, 1796, 1749, "D")
|
1937
|
+
@t.add_result(6, 1797, 1777, "W")
|
1938
|
+
@t.add_result(6, 1798, 1752, "W")
|
1939
|
+
@t.add_result(6, 1799, 1812, "D")
|
1940
|
+
@t.add_result(6, 1800, 1809, "W")
|
1941
|
+
@t.add_result(6, 1801, 1803, "L")
|
1942
|
+
@t.add_result(6, 1802, 1745, "W")
|
1943
|
+
@t.add_result(6, 1803, 1801, "W")
|
1944
|
+
@t.add_result(6, 1804, 1732, "D")
|
1945
|
+
@t.add_result(6, 1805, 1786, "L")
|
1946
|
+
@t.add_result(6, 1806, 1785, "L")
|
1947
|
+
@t.add_result(6, 1807, 1770, "L")
|
1948
|
+
@t.add_result(6, 1808, 1822, "W")
|
1949
|
+
@t.add_result(6, 1809, 1800, "L")
|
1950
|
+
@t.add_result(6, 1810, 1751, "W")
|
1951
|
+
@t.add_result(6, 1811, 1780, "W")
|
1952
|
+
@t.add_result(6, 1812, 1799, "D")
|
1953
|
+
@t.add_result(6, 1813, 1829, "W")
|
1954
|
+
@t.add_result(6, 1814, 1787, "W")
|
1955
|
+
@t.add_result(6, 1816, 1775, "W")
|
1956
|
+
@t.add_result(6, 1817, 1740, "W")
|
1957
|
+
@t.add_result(6, 1818, 1781, "L")
|
1958
|
+
@t.add_result(6, 1819, 1794, "D")
|
1959
|
+
@t.add_result(6, 1820, 1746, "L")
|
1960
|
+
@t.add_result(6, 1821, 1737, "D")
|
1961
|
+
@t.add_result(6, 1822, 1808, "L")
|
1962
|
+
@t.add_result(6, 1823, 1761, "W")
|
1963
|
+
@t.add_result(6, 1824, 1759, "L")
|
1964
|
+
@t.add_result(6, 1825, 1743, "W")
|
1965
|
+
@t.add_result(6, 1826, 1773, "W")
|
1966
|
+
@t.add_result(6, 1827, 1758, "L")
|
1967
|
+
@t.add_result(6, 1828, 1748, "L")
|
1968
|
+
@t.add_result(6, 1829, 1813, "L")
|
1969
|
+
@t.add_result(6, 1830, 1731, "L")
|
1970
|
+
@t.add_result(6, 1831, 1742, "D")
|
1971
|
+
end
|
1972
|
+
|
1973
|
+
it "should be setup properly" do
|
1974
|
+
@p.desc.should == "Sasha-Ettore Faleschini"
|
1975
|
+
@o1.desc.should == "John P. Dunne"
|
1976
|
+
@o2.desc.should == "Jack Fitzgerald"
|
1977
|
+
@o3.desc.should == "Mikolaj Glegolski"
|
1978
|
+
@o4.desc.should == "Daniel Boland"
|
1979
|
+
@o5.desc.should == "Noel Keating"
|
1980
|
+
@o6.desc.should == "Cathal Minnock"
|
1981
|
+
|
1982
|
+
@p.type.should == :unrated
|
1983
|
+
@o1.type.should == :rated
|
1984
|
+
@o2.type.should == :rated
|
1985
|
+
@o3.type.should == :rated
|
1986
|
+
@o4.type.should == :rated
|
1987
|
+
@o5.type.should == :rated
|
1988
|
+
@o6.type.should == :rated
|
1989
|
+
|
1990
|
+
@o1.rating.should == 946
|
1991
|
+
@o2.rating.should == 913
|
1992
|
+
@o3.rating.should == 841
|
1993
|
+
@o4.rating.should == 793
|
1994
|
+
@o5.rating.should == 667
|
1995
|
+
@o6.rating.should == 917
|
1996
|
+
|
1997
|
+
@t.iterations1.should be_nil
|
1998
|
+
@t.iterations2.should be_nil
|
1999
|
+
end
|
2000
|
+
|
2001
|
+
it "should produce inconsistent results with default settings" do
|
2002
|
+
@t.rate!
|
2003
|
+
|
2004
|
+
@p.new_rating.should be_within(0.5).of(713) # the original inconsistent calculation
|
2005
|
+
@p.new_rating.should == @p.performance
|
2006
|
+
|
2007
|
+
@o1.bonus.should == 16
|
2008
|
+
@o1.new_rating.should be_within(0.5).of(1013)
|
2009
|
+
@o2.bonus.should == 0
|
2010
|
+
@o3.bonus.should == 0
|
2011
|
+
@o4.bonus.should == 0
|
2012
|
+
@o5.bonus.should == 0
|
2013
|
+
@o6.bonus.should == 0
|
2014
|
+
|
2015
|
+
ratings = [@o1, @o2, @o3, @o4, @o5, @o6].map { |o| o.bonus == 0 ? o.rating : o.new_rating }
|
2016
|
+
|
2017
|
+
performance = ratings.inject(0.0){ |m,r| m = m + r } / 6.0 - 400.0 / 3.0
|
2018
|
+
performance.should_not be_within(0.5).of(@p.new_rating)
|
2019
|
+
|
2020
|
+
@t.iterations1.should be > 1
|
2021
|
+
@t.iterations2.should == 1
|
2022
|
+
end
|
2023
|
+
|
2024
|
+
it "should produce consistent results somehow" do
|
2025
|
+
pending "a fix to the algorithm (the number of iterations does not help)"
|
2026
|
+
|
2027
|
+
@t.rate!(max_iterations2: 30)
|
2028
|
+
|
2029
|
+
@o1.bonus.should == 16
|
2030
|
+
@o1.new_rating.should be_within(0.5).of(1013)
|
2031
|
+
@o2.bonus.should == 0
|
2032
|
+
@o3.bonus.should == 0
|
2033
|
+
@o4.bonus.should == 0
|
2034
|
+
@o5.bonus.should == 0
|
2035
|
+
@o6.bonus.should == 0
|
2036
|
+
|
2037
|
+
ratings = [@o1, @o2, @o3, @o4, @o5, @o6].map { |o| o.bonus == 0 ? o.rating : o.new_rating }
|
2038
|
+
|
2039
|
+
performance = ratings.inject(0.0){ |m,r| m = m + r } / 6.0 - 400.0 / 3.0
|
2040
|
+
performance.should be_within(0.5).of(@p.new_rating)
|
2041
|
+
|
2042
|
+
@t.iterations1.should be > 1
|
2043
|
+
@t.iterations2.should be > 1
|
2044
|
+
end
|
2045
|
+
end
|
997
2046
|
end
|
998
2047
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: icu_ratings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -111,7 +111,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
111
111
|
version: '0'
|
112
112
|
segments:
|
113
113
|
- 0
|
114
|
-
hash: -
|
114
|
+
hash: -3581814330556862991
|
115
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
version: '0'
|
121
121
|
segments:
|
122
122
|
- 0
|
123
|
-
hash: -
|
123
|
+
hash: -3581814330556862991
|
124
124
|
requirements: []
|
125
125
|
rubyforge_project: icu_ratings
|
126
126
|
rubygems_version: 1.8.24
|