#!/usr/bin/env ruby
require("gsl") 

N = 100000
k = 5

x = GSL::Vector.alloc(N)

GSL::Rng.env_setup()
T = GSL::Rng::DEFAULT
r = GSL::Rng.alloc(T)

for i in 0...N do
  x[i] = r.uniform()
end

small = x.sort_smallest(k)

printf("%d smallest values from %d\n", k, N);

for i in 0...k do
  printf("%d: %.18f\n", i, small[i]);
end
