X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=blobdiff_plain;f=mk_rate;h=62529916beab1ccd75b62ddab0dc800bcb14eb73;hp=8b1e770c4f1ea8f05e0becc4ef7fd4021b4d5cd0;hb=645812fa344a3456acc7fee42731cccc8c946686;hpb=39513052c4fc30ada0cbc0e4b70753701c893ee5 diff --git a/mk_rate b/mk_rate index 8b1e770..6252991 100755 --- a/mk_rate +++ b/mk_rate @@ -5,7 +5,7 @@ # Homepage:: http://sourceforge.jp/projects/shogi-server/ # #-- -# Copyright (C) 2006-2009 Daigo Moriwaki +# Copyright (C) 2006-2012 Daigo Moriwaki # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -49,6 +49,10 @@ # m [days] (default 7) # after m days, the half-life effect works # +# --ignore:: +# m [days] (default 365*2) +# old results will be ignored +# # --fixed-rate-player:: # player whose rate is fixed at the rate # @@ -100,8 +104,8 @@ require 'yaml' require 'time' require 'getoptlong' -require 'gsl' require 'rubygems' +require 'gsl' require 'rgl/adjacency' require 'rgl/connected_components' @@ -660,6 +664,11 @@ def parse(line) return if state == "abnormal" time = Time.parse(time) return if $options["base-date"] < time + how_long_days = ($options["base-date"] - time)/(3600*24) + if (how_long_days > $options["ignore"]) + return + end + black_id = identify_id(black_id) white_id = identify_id(white_id) @@ -697,6 +706,8 @@ OPTOINS: --half-life n [days] (default 60) --half-life-ignore m [days] (default 7) after m days, half-life effect works + --ignore n [days] (default 730 [=365*2]). + Results older than n days from the 'base-date' are ignored. --fixed-rate-player player whose rate is fixed at the rate --fixed-rate rate --skip-draw-games skip draw games. [default: draw games are counted in @@ -712,6 +723,7 @@ def main ["--half-life", GetoptLong::REQUIRED_ARGUMENT], ["--half-life-ignore", GetoptLong::REQUIRED_ARGUMENT], ["--help", "-h", GetoptLong::NO_ARGUMENT], + ["--ignore", GetoptLong::REQUIRED_ARGUMENT], ["--fixed-rate-player", GetoptLong::REQUIRED_ARGUMENT], ["--fixed-rate", GetoptLong::REQUIRED_ARGUMENT], ["--skip-draw-games", GetoptLong::NO_ARGUMENT]) @@ -744,6 +756,8 @@ def main $options["half-life"] = $options["half-life"].to_i $options["half-life-ignore"] ||= 7 $options["half-life-ignore"] = $options["half-life-ignore"].to_i + $options["ignore"] ||= 365*2 + $options["ignore"] = $options["ignore"].to_i $options["fixed-rate"] = $options["fixed-rate"].to_i if $options["fixed-rate"] if ARGV.empty?