ruby-changes:11120
From: nobu <ko1@a...>
Date: Tue, 3 Mar 2009 15:07:36 +0900 (JST)
Subject: [ruby-changes:11120] Ruby:r22719 (trunk): * ext/dl/lib/dl/pack.rb (DL::PackInfo): reduced redundant
nobu 2009-03-03 15:07:24 +0900 (Tue, 03 Mar 2009) New Revision: 22719 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22719 Log: * ext/dl/lib/dl/pack.rb (DL::PackInfo): reduced redundant initialization. * ext/dl/lib/dl/stack.rb (DL::Stack): ditto. Modified files: trunk/ChangeLog trunk/ext/dl/lib/dl/pack.rb trunk/ext/dl/lib/dl/stack.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 22718) +++ ChangeLog (revision 22719) @@ -1,5 +1,10 @@ -Tue Mar 3 15:05:19 2009 Nobuyoshi Nakada <nobu@r...> +Tue Mar 3 15:07:18 2009 Nobuyoshi Nakada <nobu@r...> + * ext/dl/lib/dl/pack.rb (DL::PackInfo): reduced redundan + initialization. + + * ext/dl/lib/dl/stack.rb (DL::Stack): ditto. + * ext/dl/lib/dl/value.rb (DL::ValueUtil#wrap_arg): NULL for nil. * test/dl: moved from ext/dl/test. Index: ext/dl/lib/dl/pack.rb =================================================================== --- ext/dl/lib/dl/pack.rb (revision 22718) +++ ext/dl/lib/dl/pack.rb (revision 22719) @@ -2,21 +2,18 @@ module DL module PackInfo - if( defined?(TYPE_LONG_LONG) ) ALIGN_MAP = { TYPE_VOIDP => ALIGN_VOIDP, TYPE_CHAR => ALIGN_CHAR, TYPE_SHORT => ALIGN_SHORT, TYPE_INT => ALIGN_INT, TYPE_LONG => ALIGN_LONG, - TYPE_LONG_LONG => ALIGN_LONG_LONG, TYPE_FLOAT => ALIGN_FLOAT, TYPE_DOUBLE => ALIGN_DOUBLE, -TYPE_CHAR => ALIGN_CHAR, -TYPE_SHORT => ALIGN_SHORT, -TYPE_INT => ALIGN_INT, -TYPE_LONG => ALIGN_LONG, - -TYPE_LONG_LONG => ALIGN_LONG_LONG, } PACK_MAP = { @@ -25,14 +22,12 @@ TYPE_SHORT => "s!", TYPE_INT => "i!", TYPE_LONG => "l!", - TYPE_LONG_LONG => "q", TYPE_FLOAT => "f", TYPE_DOUBLE => "d", -TYPE_CHAR => "c", -TYPE_SHORT => "s!", -TYPE_INT => "i!", -TYPE_LONG => "l!", - -TYPE_LONG_LONG => "q", } SIZE_MAP = { @@ -41,57 +36,17 @@ TYPE_SHORT => SIZEOF_SHORT, TYPE_INT => SIZEOF_INT, TYPE_LONG => SIZEOF_LONG, - TYPE_LONG_LONG => SIZEOF_LONG_LONG, TYPE_FLOAT => SIZEOF_FLOAT, TYPE_DOUBLE => SIZEOF_DOUBLE, -TYPE_CHAR => SIZEOF_CHAR, -TYPE_SHORT => SIZEOF_SHORT, -TYPE_INT => SIZEOF_INT, -TYPE_LONG => SIZEOF_LONG, - -TYPE_LONG_LONG => SIZEOF_LONG_LONG, } - else - ALIGN_MAP = { - TYPE_VOIDP => ALIGN_VOIDP, - TYPE_CHAR => ALIGN_CHAR, - TYPE_SHORT => ALIGN_SHORT, - TYPE_INT => ALIGN_INT, - TYPE_LONG => ALIGN_LONG, - TYPE_FLOAT => ALIGN_FLOAT, - TYPE_DOUBLE => ALIGN_DOUBLE, - -TYPE_CHAR => ALIGN_CHAR, - -TYPE_SHORT => ALIGN_SHORT, - -TYPE_INT => ALIGN_INT, - -TYPE_LONG => ALIGN_LONG, - } - - PACK_MAP = { - TYPE_VOIDP => ((SIZEOF_VOIDP == SIZEOF_LONG_LONG) ? "q" : "l!"), - TYPE_CHAR => "c", - TYPE_SHORT => "s!", - TYPE_INT => "i!", - TYPE_LONG => "l!", - TYPE_FLOAT => "f", - TYPE_DOUBLE => "d", - -TYPE_CHAR => "c", - -TYPE_SHORT => "s!", - -TYPE_INT => "i!", - -TYPE_LONG => "l!", - } - - SIZE_MAP = { - TYPE_VOIDP => SIZEOF_VOIDP, - TYPE_CHAR => SIZEOF_CHAR, - TYPE_SHORT => SIZEOF_SHORT, - TYPE_INT => SIZEOF_INT, - TYPE_LONG => SIZEOF_LONG, - TYPE_FLOAT => SIZEOF_FLOAT, - TYPE_DOUBLE => SIZEOF_DOUBLE, - -TYPE_CHAR => SIZEOF_CHAR, - -TYPE_SHORT => SIZEOF_SHORT, - -TYPE_INT => SIZEOF_INT, - -TYPE_LONG => SIZEOF_LONG, - } + if defined?(TYPE_LONG_LONG) + ALIGN_MAP[TYPE_LONG_LONG] = ALIGN_MAP[-TYPE_LONG_LONG] = ALIGN_LONG_LONG + PACK_MAP[TYPE_LONG_LONG] = PACK_MAP[-TYPE_LONG_LONG] = "q" + SIZE_MAP[TYPE_LONG_LONG] = SIZE_MAP[-TYPE_LONG_LONG] = SIZEOF_LONG_LONG end def align(addr, align) @@ -108,8 +63,8 @@ class Packer include PackInfo - def Packer.[](*types) - Packer.new(types) + def self.[](*types) + new(types) end def initialize(types) Index: ext/dl/lib/dl/stack.rb =================================================================== --- ext/dl/lib/dl/stack.rb (revision 22718) +++ ext/dl/lib/dl/stack.rb (revision 22719) @@ -2,8 +2,8 @@ module DL class Stack - def Stack.[](*types) - Stack.new(types) + def self.[](*types) + new(types) end def initialize(types) @@ -51,14 +51,12 @@ end end -if( defined?(TYPE_LONG_LONG) ) ALIGN_MAP = { TYPE_VOIDP => ALIGN_VOIDP, TYPE_CHAR => ALIGN_VOIDP, TYPE_SHORT => ALIGN_VOIDP, TYPE_INT => ALIGN_VOIDP, TYPE_LONG => ALIGN_VOIDP, - TYPE_LONG_LONG => ALIGN_LONG_LONG, TYPE_FLOAT => ALIGN_FLOAT, TYPE_DOUBLE => ALIGN_DOUBLE, } @@ -69,7 +67,6 @@ TYPE_SHORT => "s!", TYPE_INT => "i!", TYPE_LONG => "l!", - TYPE_LONG_LONG => "q", TYPE_FLOAT => "f", TYPE_DOUBLE => "d", } @@ -80,42 +77,15 @@ TYPE_SHORT => SIZEOF_SHORT, TYPE_INT => SIZEOF_INT, TYPE_LONG => SIZEOF_LONG, - TYPE_LONG_LONG => SIZEOF_LONG_LONG, TYPE_FLOAT => SIZEOF_FLOAT, TYPE_DOUBLE => SIZEOF_DOUBLE, } -else - ALIGN_MAP = { - TYPE_VOIDP => ALIGN_VOIDP, - TYPE_CHAR => ALIGN_VOIDP, - TYPE_SHORT => ALIGN_VOIDP, - TYPE_INT => ALIGN_VOIDP, - TYPE_LONG => ALIGN_VOIDP, - TYPE_FLOAT => ALIGN_FLOAT, - TYPE_DOUBLE => ALIGN_DOUBLE, - } + if defined?(TYPE_LONG_LONG) + ALIGN_MAP[TYPE_LONG_LONG] = ALIGN_LONG_LONG + PACK_MAP[TYPE_LONG_LONG] = "q" + SIZE_MAP[TYPE_LONG_LONG] = SIZEOF_LONG_LONG + end - PACK_MAP = { - TYPE_VOIDP => ((SIZEOF_VOIDP == SIZEOF_LONG_LONG)? "q" : "l!"), - TYPE_CHAR => "c", - TYPE_SHORT => "s!", - TYPE_INT => "i!", - TYPE_LONG => "l!", - TYPE_FLOAT => "f", - TYPE_DOUBLE => "d", - } - - SIZE_MAP = { - TYPE_VOIDP => SIZEOF_VOIDP, - TYPE_CHAR => SIZEOF_CHAR, - TYPE_SHORT => SIZEOF_SHORT, - TYPE_INT => SIZEOF_INT, - TYPE_LONG => SIZEOF_LONG, - TYPE_FLOAT => SIZEOF_FLOAT, - TYPE_DOUBLE => SIZEOF_DOUBLE, - } -end - def parse_types(types) @types = types @template = "" -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/