[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]