Module: BitMask::Radix

Defined in:
lib/bit_mask/radix.rb

Class Method Summary collapse

Class Method Details

.integer_to_string(integer, characters) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/bit_mask/radix.rb', line 4

def integer_to_string(integer, characters)
  characters = process_characters(characters)
  radix = characters.length

  result = ''
  while integer != 0
    result += characters[integer%radix]
    integer /= radix
  end
  result.reverse
end

.string_to_integer(string, characters) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/bit_mask/radix.rb', line 16

def string_to_integer(string, characters)
  characters = process_characters(characters)
  radix = characters.length

  int_val = 0
  string.reverse.split('').each_with_index do |char,index|
    if char_index = characters.index(char)
      int_val += (char_index)*(radix**(index))
    else
      raise ArgumentError, "Character #{char} at index #{index} is not a valid character for Base #{characters} String."
    end
  end
  int_val
end