From 0327e9799a42938d212e7f33f45c155b5589bdf0 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Mon, 16 Jan 2012 02:25:04 -0500
Subject: [PATCH] Use PyOpenCL to translate dtypes into C types.

---
 loopy/codegen/__init__.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/loopy/codegen/__init__.py b/loopy/codegen/__init__.py
index e8f7ec61c..62977a484 100644
--- a/loopy/codegen/__init__.py
+++ b/loopy/codegen/__init__.py
@@ -174,11 +174,22 @@ def make_initial_assignments(kernel):
 
 # }}}
 
+# {{{ cgen overrides
+
+from cgen import POD as PODBase
+
+class POD(PODBase):
+    def get_decl_pair(self):
+        from pyopencl.tools import dtype_to_ctype
+        return [dtype_to_ctype(self.dtype)], self.name
+
+# }}}
+
 # {{{ main code generation entrypoint
 
 def generate_code(kernel, with_annotation=False):
     from cgen import (FunctionBody, FunctionDeclaration,
-            POD, Value, ArrayOf, Module, Block,
+            Value, ArrayOf, Module, Block,
             Line, Const, LiteralLines, Initializer)
 
     from cgen.opencl import (CLKernel, CLGlobal, CLRequiredWorkGroupSize,
@@ -335,4 +346,5 @@ def generate_code(kernel, with_annotation=False):
 
 
 
+
 # vim: foldmethod=marker
-- 
GitLab