Class: GSL::Vector

Inherits:
Object
  • Object
show all
Defined in:
lib/gs2crmod/gsl_tools.rb,
lib/gs2crmod/astrogk/gsl_tools.rb

Instance Method Summary collapse

Instance Method Details

#from_box_orderObject



36
37
38
39
40
41
42
43
# File 'lib/gs2crmod/gsl_tools.rb', line 36

def from_box_order
  size = self.size
  if size < 3
    return self.dup
  end
  v1, v2 = self.subvector(0, (size+2)/2), self.subvector((size+2)/2, (size-1)/2)
  return v2.connect(v1)
end

#pieces(no_pieces) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/gs2crmod/gsl_tools.rb', line 17

def pieces(no_pieces)
  ans = []
  piece_sizes  = []

  for i in 0...no_pieces 
    ans.push []; piece_sizes[i] = 0
  end
  for j in 0...size 
    piece_sizes[j % no_pieces] += 1
  end
#     p ans, piece_sizes
  accum = 0
  piece_sizes.each_with_index do |piece_size, piece|
    ans[piece] = self.subvector(accum, piece_size)
    accum += piece_size
  end
  return ans
end

#to_box_orderObject



44
45
46
47
48
49
50
51
# File 'lib/gs2crmod/gsl_tools.rb', line 44

def to_box_order
  size = self.size
  if size < 3
    return self.dup
  end
  v1, v2 = self.subvector(0, (size-1)/2), self.subvector((size-1)/2, (size+2)/2)
  return v2.connect(v1)
end