class SMF::Sequence::RS::PO
Public Class Methods
new(str)
click to toggle source
# File lib/smf/io.rb, line 16 def initialize(str) @str, @index = str, 0 end
u2s(u, w)
click to toggle source
# File lib/smf/io.rb, line 14 def self.u2s(u, w) u -= 2**w if u > 2**(w-1)-1; u end
Public Instance Methods
eof?()
click to toggle source
# File lib/smf/io.rb, line 18 def eof? () rem <= 0 end
getc()
click to toggle source
# File lib/smf/io.rb, line 30 def getc raise EOFError if rem < 1 c = @str[@index] skip(1) c end
geti(n)
click to toggle source
# File lib/smf/io.rb, line 58 def geti(n) u = 0 n.times do u <<= 8 c = getc u |= c end u end
geti16()
click to toggle source
# File lib/smf/io.rb, line 68 def geti16() geti(2) end
geti24()
click to toggle source
# File lib/smf/io.rb, line 69 def geti24() geti(3) end
geti32()
click to toggle source
# File lib/smf/io.rb, line 70 def geti32() geti(4) end
getl()
click to toggle source
# File lib/smf/io.rb, line 48 def getl v = 0 begin v <<= 7 c = getc v |= c & 0x7f end until (c & 0x80).zero? v end
getn(n)
click to toggle source
# File lib/smf/io.rb, line 21 def getn(n) raise EOFError if rem < n s = @str[@index, n] skip(n) s end
rem()
click to toggle source
# File lib/smf/io.rb, line 17 def rem() @str.length - @index end
skip(n)
click to toggle source
# File lib/smf/io.rb, line 19 def skip(n) @index += n end
to_s()
click to toggle source
# File lib/smf/io.rb, line 72 def to_s() @str.dup end