Пример #1
0
if re.search(r'[-]*\b[h]([e][l][p])?\b', argv[1]):
    usage()
    exit(0)

in_filename = argv[1]
out_filename = argv[2]
include = argv[3]
lib = argv[4]
backend = argv[5]
namespace = argv[6]

namespace_list = namespace.split("::")

header_db = create_func_db(in_filename)
external_namespace_list = get_namespaces(in_filename)

print("Generate " + out_filename)


def print_funcs(func_list):
    code = ""
    for data in func_list:
        code += """
template<>
{ret_type} {name}<library::{lib}, backend::{backend}>{par_str} {{
    {name}_precondition{call_str};
    {namespace}::{name}{call_str};
    {name}_postcondition{call_str};
}}
""".format(lib=lib, namespace=namespace, backend=backend, **data)
Пример #2
0
    usage()
    exit(0)

in_filename = argv[1]
in_table = argv[2]
out_filename = argv[3]
libname = argv[4]

table_list = argv[0].rsplit('/', 1)[0] + "/blas_list.txt"
table_file = out_filename.rsplit(
    '/', 1)[0] + "/" + libname + "_wrappers_table_dyn.cpp"

cmake_file = out_filename.rsplit('/', 1)[0] + "/CMakeLists.txt"

header_db = create_func_db(in_filename)
namespace_list = get_namespaces(in_filename)

# Generate wrappers
print("Generate " + out_filename)


def print_funcs(func_list):
    code = ""
    for data in func_list:
        code += """
{ret_type} {name}{par_str} {{
    throw std::runtime_error("Not implemented for {libname}");
}}
""".format(libname=libname, **data)
    return code