コード例 #1
0
ファイル: fir_lowpass.py プロジェクト: voidoutpost/qcml
    ind = (linspace(0, m - 1, m) % mult_factor) == 0
    alpha1 = alpha[ind]
    phi1 = phi[ind]

    print "h ---------------"
    h = real(ifft(exp(alpha1 + jay * phi1), n))
    print h

    print
    print ">> Now we'll generate C code and compile it with C++ compiler."
    print
    raw_input("press ENTER to generate C code and save it....")
    p.dims = {'m': m, 'n': n}  # only specify *some* of the dimensions
    p.codegen("C")
    p.save("fir_lowpass")

    raw_input("press ENTER to compile the test C++ program....")
    PATH_TO_EXAMPLES = "../../examples"
    os.chdir("fir_lowpass")
    shutil.copyfile(PATH_TO_EXAMPLES + "/fir_lowpass.cpp", "fir_lowpass.cpp")
    print "Running make...."
    subprocess.call(["make"])
    if platform.system() == 'Linux':
        cmd = [
            "c++", "-O3", "fir_lowpass.cpp",
            "-L%s" % ECOS_PATH,
            "-I%s/include" % ECOS_PATH,
            "-I%s/external/SuiteSparse_config" % ECOS_PATH, "-lecos", "-lm",
            "-lrt", "fir_lowpass.o", "qcml_utils.o", "-o", "fir_lowpass"
        ]
コード例 #2
0
ファイル: fir_lowpass.py プロジェクト: chinasaur/qcml
    ind = (linspace(0,m-1,m) % mult_factor) == 0
    alpha1 = alpha[ind]
    phi1 = phi[ind]

    print "h ---------------"
    h = real(ifft(exp(alpha1+jay*phi1),n))
    print h
    
    print 
    print ">> Now we'll generate C code and compile it with C++ compiler."
    print
    raw_input("press ENTER to generate C code and save it....")
    p.dims = {'m': m, 'n': n}   # only specify *some* of the dimensions
    p.codegen("C")
    p.save("fir_lowpass")

    raw_input("press ENTER to compile the test C++ program....")
    PATH_TO_EXAMPLES = "../../examples"
    os.chdir("fir_lowpass")
    shutil.copyfile(PATH_TO_EXAMPLES + "/fir_lowpass.cpp", "fir_lowpass.cpp")
    print "Running make...."
    subprocess.call(["make"])
    if platform.system() == 'Linux':
        cmd = ["c++", "-O3", "fir_lowpass.cpp", "-L%s" % ECOS_PATH, 
                "-I%s/include" % ECOS_PATH, 
                "-I%s/external/SuiteSparse_config" % ECOS_PATH,
                "-lecos", "-lm", "-lrt", "fir_lowpass.o", 
                "qcml_utils.o", "-o","fir_lowpass"]
    else:
        cmd = ["c++", "-O3", "fir_lowpass.cpp", "-L%s" % ECOS_PATH, 
コード例 #3
0
ファイル: lasso.py プロジェクト: nkhuyu/qcml
    print s

    raw_input("press ENTER to parse....")
    p = QCML(debug=True)
    p.parse(s)

    raw_input("press ENTER to canonicalize....")
    p.canonicalize()

    raw_input("press ENTER to solve the problem....")
    res = p.solve()

    raw_input("press ENTER to generate C code and save it....")
    p.codegen("C")
    print p.prob2socp.source
    p.save("lasso")

    raw_input("press ENTER to write the test C program....")
    c_template = """
#include <stdio.h>
#include "lasso.h"
#include "ecos.h"

int read_file(const char * file, void *x, size_t size, size_t num)
{
  FILE *f;
  f = fopen(file, "rb");
  if (!f)
  {
    printf("Unable to open %%s!\\n", file);
    return 1;
コード例 #4
0
ファイル: lasso.py プロジェクト: chinasaur/qcml
    """
    print s

    raw_input("press ENTER to parse....")
    p = QCML(debug=True)
    p.parse(s)

    raw_input("press ENTER to canonicalize....")
    p.canonicalize()

    raw_input("press ENTER to solve the problem....")
    res = p.solve()

    raw_input("press ENTER to generate C code and save it....")
    p.codegen("C")
    p.save("lasso")

    raw_input("press ENTER to write the test C program....")
    c_template = """
#include <stdio.h>
#include "lasso.h"
#include "ecos.h"

int read_file(const char * file, void *x, size_t size, size_t num)
{
  FILE *f;
  f = fopen(file, "rb");
  if (!f)
  {
    printf("Unable to open %%s!\\n", file);
    return 1;