intperm 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/intperm.rb +2 -1
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3be50da5bdab13dfe4e3deddfe2a10e5d5d1bfd2
4
- data.tar.gz: 4e8eac9842b1c8970edd5e5344f71024df860752
3
+ metadata.gz: c2df9b8843f88d7859b4fbb5d3ceb191da9f101f
4
+ data.tar.gz: d21b42501c873fc41b9543684a8bab7b6db74d41
5
5
  SHA512:
6
- metadata.gz: f0a7cc68ba546612b613d304c87e1a8cc66eb361cb3486c2d4b51b0dadf61a0f87cdf8a6190370a400ced56a24fac0322c5a58bb09cd92200902e99ff0886c88
7
- data.tar.gz: 9458c0aae42963fff8edf5f7bde4c2239c9b9df469f2ccf9bbc01620b907a9f9ce56c960410aad5da53b3b4526ab61a8de3f471eff93ccde4234e95fb0f0c44d
6
+ metadata.gz: 4df50f4f99e6781711de13aca4eac7a7de8c9bbe410ca8f10a30c6bd8e54690bde2e32b04987f0a1a7819c8858bef271b32b7db7ee543c58944d3f2c58f948ab
7
+ data.tar.gz: da4faa70d6dd3c736550f24dbb528ae2447e56b9746c97a17da0dee4b9c12380cded441b6b82e84eb5a5950de1e232954c1fa66944d0423b2480f947e16d39ea
data/lib/intperm.rb CHANGED
@@ -2,8 +2,9 @@ require 'yaml'
2
2
 
3
3
  # Main permutation class.
4
4
  class Permutation
5
- def initialize(seed, bit_length = 64)
5
+ def initialize(seed = nil, bit_length = 64)
6
6
  @mask = (1 << bit_length) - 1
7
+ seed = Random.rand @mask if seed.nil?
7
8
  xorshift = XORShift.new seed, @mask
8
9
  @masks = (0.upto bit_length * 2).map do |i|
9
10
  xorshift.next & ((1 << (i >> 1)) ^ @mask)
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intperm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Attila Oláh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-28 00:00:00.000000000 Z
11
+ date: 2014-02-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: A simple pseudo-random permutation of arbitrary sized integers.
13
+ description: Pseudo-random permutation of arbitrary size integers.
14
14
  email: attila@attilaolah.eu
15
15
  executables: []
16
16
  extensions: []