From 26c490f404731d053a6205719b6246502c07b449 Mon Sep 17 00:00:00 2001 From: Patrick Simianer Date: Sat, 14 Jun 2014 16:46:27 +0200 Subject: init --- overlapping_rules/rules_cross_product.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 overlapping_rules/rules_cross_product.rb (limited to 'overlapping_rules/rules_cross_product.rb') diff --git a/overlapping_rules/rules_cross_product.rb b/overlapping_rules/rules_cross_product.rb new file mode 100755 index 0000000..649a94c --- /dev/null +++ b/overlapping_rules/rules_cross_product.rb @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby + +require_relative './util.rb' + + +STDOUT.sync = true +approx_count = 7430933/192 + +i = 0 +prev_id = nil +accumulate = [] +read_rules_from_file2(STDIN, 'stdin') { |id,r| + i += 1 + if id != prev_id + if prev_id + accumulate.sort_by! { |i| i.id }#.uniq { |i| i.id } + accumulate.each_with_index { |a,j| + accumulate[j+1..accumulate.size].each_with_index { |b,k| + STDOUT.write "#{a.id}+#{b.id}\t#{a.to_s} <<<>>> #{b.to_s}\n" + } + } + accumulate.clear + end + prev_id = id + end + accumulate << r + STDERR.write "reporter:status:cross product ##{i} #{((i*100.0)/approx_count).round 2}%\n" +} + -- cgit v1.2.3