Example #1
0
def str_type(ctype, defined_types):
    if ctype in defined_types:
        return defined_types[ctype]
    elif ctype in type_map:
        return type_map[ctype]
    elif isroutine(ctype):
        return None
    elif isinstance(ctype, cl.contextual_memory):
        base_str = str_type(ctype.ctype, defined_types)
        return '%s %s*' % (ctype.qualifier, base_str)
    elif isinstance(ctype, cltype):
        return ctype.ctype_string()
    elif isinstance(ctype, str):
        return ctype
    else:
        format = type_format(ctype)
        return cdefn(format)
Example #2
0
def str_type(ctype, defined_types):
    if ctype in defined_types:
        return defined_types[ctype]
    elif ctype in type_map:
        return type_map[ctype]
    elif isroutine(ctype):
        return None
    elif isinstance(ctype, cl.contextual_memory):
        base_str = str_type(ctype.ctype, defined_types)
        return '%s %s*' % (ctype.qualifier, base_str)
    elif isinstance(ctype, cltype):
        return ctype.ctype_string()
    elif isinstance(ctype, str):
        return ctype
    else:
        format = type_format(ctype)
        return cdefn(format)
Example #3
0
 def mutatePrint(self, node):
     
     str_formats = []
     for val in node.values:
         if val.ctype == str:
             str_formats.append('%s')
         else:
             cfmt = type_format(val.ctype)
             fmt = STR_FORMAT_MAP[cfmt]
             str_formats.append(fmt)
     if node.nl: 
         str_formats.append('\\n')
         
     cstr = cast.CStr(" ".join(str_formats), str)
     
     arg = cast.CTypeCast(cstr, 'const char*')
     vlaue = cast.CCall(cast.CName('printf', ast.Load(), None), [arg] + node.values, [], None)
     
     return ast.Expr(vlaue)
Example #4
0
    def mutatePrint(self, node):

        str_formats = []
        for val in node.values:
            if val.ctype == str:
                str_formats.append('%s')
            else:
                cfmt = type_format(val.ctype)
                fmt = STR_FORMAT_MAP[cfmt]
                str_formats.append(fmt)
        if node.nl:
            str_formats.append('\\n')

        cstr = cast.CStr(" ".join(str_formats), str)

        arg = cast.CTypeCast(cstr, 'const char*')
        vlaue = cast.CCall(cast.CName('printf', ast.Load(), None),
                           [arg] + node.values, [], None)

        return ast.Expr(vlaue)
Example #5
0
def is_vetor_type(ctype):
    return vector_len.match(type_format(ctype)) is not None
Example #6
0
def is_vetor_type(ctype):
    return vector_len.match(type_format(ctype)) is not None