Sha256: d8c4ce7cee99d6bdf19aa4f7190a25c50c24fb1411a5a88ec9500d2c7bf312cb
Contents?: true
Size: 843 Bytes
Versions: 4
Compression:
Stored size: 843 Bytes
Contents
# frozen_string_literal: true module RQRCodeCore class QRMath module_eval { exp_table = Array.new(256) log_table = Array.new(256) ( 0...8 ).each do |i| exp_table[i] = 1 << i end ( 8...256 ).each do |i| exp_table[i] = exp_table[i - 4] \ ^ exp_table[i - 5] \ ^ exp_table[i - 6] \ ^ exp_table[i - 8] end ( 0...255 ).each do |i| log_table[exp_table[i] ] = i end EXP_TABLE = exp_table LOG_TABLE = log_table } class << self def glog(n) raise QRCodeRunTimeError, "glog(#{n})" if ( n < 1 ) LOG_TABLE[n] end def gexp(n) while n < 0 n = n + 255 end while n >= 256 n = n - 255 end EXP_TABLE[n] end end end end
Version data entries
4 entries across 4 versions & 1 rubygems