#!/usr/local/bin/ruby
require "GSL"
include GSL
# Test permutations
STDERR.puts "Running permutation tests..."
perm = Permutation.new(10)
puts "\n size = #{perm.size}"
print " perm = "
perm.fprintf(STDOUT, " %u")
perm.swap(2, 4).swap(3, 5)
print "\n swap = "
#puts perm.to_a.join(" ")
perm.dump
perm.next
print "\n next = "
perm.dump
perm.prev
print "\n prev = "
perm.dump
print "\n valid: ", perm.is_valid? ? "yes" : "no", "\n"
begin
print "\nwriting to file..."
f = File.new("perm.dump", "w")
perm.fwrite(f)
f.close
puts "ok"
print "reading from file..."
f = File.new("dump", "r")
perm = Permutation.new(10)
perm.fread(f)
f.close
puts "ok"
perm.dump
puts "\nread/write: ok"
rescue IOError
STDERR.print "Caught exception: #{$!}\n"
end
puts "\ntesting each:"
perm = Permutation.new(4)
perm.each {|p| p.dump; printf "\n"}
STDERR.puts "\ndone."