From 9ff1e787f915539b1980654e3d3d2013ff5c81d2 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Mon, 7 Jul 2008 07:38:25 +0000 Subject: wrong commit; sorry git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby_1_8_6/ext/dl/type.rb | 115 ---------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 ruby_1_8_6/ext/dl/type.rb (limited to 'ruby_1_8_6/ext/dl/type.rb') diff --git a/ruby_1_8_6/ext/dl/type.rb b/ruby_1_8_6/ext/dl/type.rb deleted file mode 100644 index 804420c395..0000000000 --- a/ruby_1_8_6/ext/dl/type.rb +++ /dev/null @@ -1,115 +0,0 @@ -# example: -# DLTYPE[INT][:rb2c]["arg0"] => "NUM2INT(arg0)" -# DLTYPE[DOUBLE][:c2rb]["r"] => "rb_float_new(r)" - -DLTYPE = { - VOID = 0x00 => { - :name => 'VOID', - :rb2c => nil, - :c2rb => nil, - :ctype => "void", - :stmem => "v", - :sym => true, - :cb => true, - }, - CHAR = 0x01 => { - :name => 'CHAR', - :rb2c => proc{|x| "NUM2CHR(#{x})"}, - :c2rb => proc{|x| "CHR2FIX(#{x})"}, - :ctype => "char", - :stmem => "c", - :sym => false, - :cb => false, - }, - SHORT = 0x02 => { - :name => 'SHORT', - :rb2c => proc{|x| "FIX2INT(#{x})"}, - :c2rb => proc{|x| "INT2FIX(#{x})"}, - :ctype => "short", - :stmem => "h", - :sym => false, - :cb => false, - }, - INT = 0x03 => { - :name => 'INT', - :rb2c => proc{|x| "NUM2INT(#{x})"}, - :c2rb => proc{|x| "INT2NUM(#{x})"}, - :ctype => "int", - :stmem => "i", - :sym => true, - :cb => false, - }, - LONG = 0x04 => { - :name => 'LONG', - :rb2c => proc{|x| "NUM2INT(#{x})"}, - :c2rb => proc{|x| "INT2NUM(#{x})"}, - :ctype => "long", - :stmem => "l", - :sym => true, - :cb => true, - }, - FLOAT = 0x05 => { - :name => 'FLOAT', - :rb2c => proc{|x| "(float)(RFLOAT(#{x})->value)"}, - :c2rb => proc{|x| "rb_float_new((double)#{x})"}, - :ctype => "float", - :stmem => "f", - :sym => false, - :cb => false, - }, - DOUBLE = 0x06 => { - :name => 'DOUBLE', - :rb2c => proc{|x| "RFLOAT(#{x})->value"}, - :c2rb => proc{|x| "rb_float_new(#{x})"}, - :ctype => "double", - :stmem => "d", - :sym => true, - :cb => true, - }, - VOIDP = 0x07 => { - :name => 'VOIDP', - :rb2c => proc{|x| "rb_dlptr2cptr(#{x})"}, - :c2rb => proc{|x| "rb_dlptr_new(#{x},sizeof(void*),0)"}, - :ctype => "void *", - :stmem => "p", - :sym => true, - :cb => true, - }, -} - -def tpush(t, x) - (t << 3)|x -end - -def tget(t, i) - (t & (0x07 << (i * 3))) >> (i * 3) -end - -def types2num(types) - res = 0x00 - r = types.reverse - r.each{|t| - res = tpush(res,t) - } - res -end - -def num2types(num) - ts = [] - i = 0 - t = tget(num,i) - while( (t != VOID && i > 0) || (i == 0) ) - ts.push(DLTYPE[t][:ctype]) - i += 1 - t = tget(num,i) - end - ts -end - -def types2ctypes(types) - res = [] - types.each{|t| - res.push(DLTYPE[t][:ctype]) - } - res -end -- cgit v1.2.3