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)
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