def cpp_run(): parser = argparse.ArgumentParser(description='Run a C++ file with cppimport') parser.add_argument('filename', help = 'The file to run.') parser.add_argument('--verbose', '-v', action = 'store_true', help = 'Tell me everything!') args = parser.parse_args() if args.verbose: cppimport.set_quiet(False) filename = args.filename code = open(filename, 'r').read() main = mako.template.Template(tmpl).render(code = code) cpprun_dir = '.cpprunfiles' if not os.path.exists(cpprun_dir): os.makedirs(cpprun_dir) src = os.path.join(cpprun_dir, 'runnable.cpp') open(src, 'w').write(main) sys.path.append(cpprun_dir) import runnable sys.path.remove(cpprun_dir) if args.verbose: print("Launching!") runnable.main()
def build_vectorian(): import cppimport cppimport.set_quiet(False) cppimport.force_rebuild(False) if os.environ.get("DEBUG_VECTORIAN_FORCE_REBUILD", False): cppimport.force_rebuild(True)
def cpp_run(): parser = argparse.ArgumentParser(description='Run a C++ file with cppimport') parser.add_argument('filename', help = 'The file to run.') parser.add_argument( '--add_main_caller', '-m', action = 'store_true', help = 'Add a pybind11 function that will call your main()' ) parser.add_argument( '--verbose', '-v', action = 'store_true', help = 'Tell me everything!' ) args = parser.parse_args() if args.verbose: cppimport.set_quiet(False) filename = args.filename filedir = os.path.dirname(filename) filebasename = os.path.basename(filename) module_name, file_extension = os.path.splitext(filebasename) if args.add_main_caller: cpprun_dir = '.cpprunfiles' if not os.path.exists(cpprun_dir): os.makedirs(cpprun_dir) src = os.path.join(cpprun_dir, filebasename) open(src, 'w').write(open(filename, 'r').read() + footer) sys.path.append(cpprun_dir) else: sys.path.append(filedir) module = cppimport.imp(module_name) if args.verbose: print("Launching!") module.main()
def cpp_run(): parser = argparse.ArgumentParser( description='Run a C++ file with cppimport') parser.add_argument('filename', help='The file to run.') parser.add_argument( '--add_main_caller', '-m', action='store_true', help='Add a pybind11 function that will call your main()') parser.add_argument('--verbose', '-v', action='store_true', help='Tell me everything!') args = parser.parse_args() if args.verbose: cppimport.set_quiet(False) filename = args.filename filedir = os.path.dirname(filename) filebasename = os.path.basename(filename) module_name, file_extension = os.path.splitext(filebasename) if args.add_main_caller: cpprun_dir = '.cpprunfiles' if not os.path.exists(cpprun_dir): os.makedirs(cpprun_dir) src = os.path.join(cpprun_dir, filebasename) open(src, 'w').write(open(filename, 'r').read() + footer) sys.path.append(cpprun_dir) else: sys.path.append(filedir) module = cppimport.imp(module_name) if args.verbose: print("Launching!") module.main()
import cppimport cppimport.set_quiet(False) # A hack required to get relative imports working # with cppimport import sys import os sys.path.insert(0, os.path.dirname(__file__)) try: cppimport.imp('marker_ba') # cppimport.imp('_theia') finally: sys.path.pop(0) from marker_ba import * #import _theia as theia
import os import sys import copy import subprocess import contextlib import cppimport import cppimport.import_hook as cppimp cppimport.set_quiet(False) @contextlib.contextmanager def appended(filename, text): orig = open(filename, 'r').read() open(filename, 'a').write(text) try: yield finally: open(filename, 'w').write(orig) def subprocess_check(test_code, returncode = 0): p = subprocess.Popen([ 'python', '-c', test_code ], cwd = os.path.dirname(__file__)) p.wait() assert(p.returncode == returncode) def test_find_module_cpppath(): mymodule_loc = cppimp.find_module_cpppath("mymodule") mymodule_dir = os.path.dirname(mymodule_loc) assert(os.path.basename(mymodule_loc) == "mymodule.cpp") apackage_path = os.path.join(mymodule_dir, 'apackage', 'mymodule.cpp')
""" Author: Fritz Alder Copyright: Secure Systems Group, Aalto University https://ssg.aalto.fi/ This code is released under Apache 2.0 license http://www.apache.org/licenses/LICENSE-2.0 """ # cpp import cppimport import cppimport.import_hook cppimport.set_quiet(True) from lib import minionn as minionn import logging logger = logging.getLogger('minionn.minionn_helper') from operator import mul from functools import reduce import numpy as np from . import config #TODO: Work with tensor objects held by a tensorhandler class Tensor(object):