aboutsummaryrefslogtreecommitdiff
path: root/gen-data.rb
diff options
context:
space:
mode:
Diffstat (limited to 'gen-data.rb')
-rwxr-xr-xgen-data.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/gen-data.rb b/gen-data.rb
new file mode 100755
index 0000000..e010ed1
--- /dev/null
+++ b/gen-data.rb
@@ -0,0 +1,23 @@
+#!/usr/bin/env ruby
+
+# get number of rows
+NUM_ROWS = (ARGV.shift || 100).to_i
+
+# data shape (num_floats, num_ints)
+SHAPE = [2, 0]
+
+# cluster centers
+Q = [[-1, -1], [-1, +1], [+1, -1], [+1, +1]].map { |c|
+ c.map { |v| 0.5 + 0.25 * v }
+}
+
+def noise(y, x, scale)
+ Q[y % Q.size][x] + scale * rand * Math.cos(Math::PI * rand)
+end
+
+# print output
+puts [SHAPE.join(' ')] + NUM_ROWS.times.map { |y|
+ SHAPE.first.times.map { |x|
+ '%1.5f' % [noise(y, x, 0.1)]
+ }.join(' ')
+}