Esempio n. 1
0
    def testwithdata(self, dispvars=False):
        p = self.p

        d = {}
        d['header'] = header()

        d['dims'] = joinlist(bylowerstr(getdims(p)), True)
        d['params'] = joinlist(bylowerstr(getparams(p)), True)
        d['optvars'] = joinlist(bylowerstr(getoptvars(p)), True)
        d['numvars'] = str(len(getoptvars(p)))

        # jem: making the assumption that optvars order will be sorted like
        # this.
        s = ''
        i = 0
        for x in bylowerstr(getoptvars(p)):
            s += 'outvar %s;\n%s = vars[%d];\n' % (str(x), str(x), i)
            i += 1
        d['namevars'] = s

        s = joinlist(bylowerstr(getdims(p)) + bylowerstr(getparams(p)), True)
        d['tsf_args'] = s

        # jemjemjem.
        #if dispvars:
        #    d['tsf_args'] = s
        #// Display the variables.
        #pm(x->val, x->m, x->n);
        #pm(y->val, y->m, y->n);

        writecode(self.outdir, self.skel, 'testwithdata.c', d)
Esempio n. 2
0
    def testwithdata(self, dispvars=False):
        p = self.p

        d = {}
        d['header'] = header()

        d['dims'] = joinlist(bylowerstr(getdims(p)), True)
        d['params'] = joinlist(bylowerstr(getparams(p)), True)
        d['optvars'] = joinlist(bylowerstr(getoptvars(p)), True)
        d['numvars'] = str(len(getoptvars(p)))

        # jem: making the assumption that optvars order will be sorted like
        # this.
        s = ''
        i = 0
        for x in bylowerstr(getoptvars(p)):
            s += 'outvar %s;\n%s = vars[%d];\n' % (str(x), str(x), i)
            i += 1
        d['namevars'] = s

        s = joinlist(bylowerstr(getdims(p)) + bylowerstr(getparams(p)), True)
        d['tsf_args'] = s

        # jemjemjem.
        #if dispvars:
        #    d['tsf_args'] = s
        #// Display the variables.
        #pm(x->val, x->m, x->n);
        #pm(y->val, y->m, y->n);

        writecode(self.outdir, self.skel, 'testwithdata.c', d)
Esempio n. 3
0
    def testfa(self, n):
        p = self.p

        d = {}
        d['header'] = header()

        d['n'] = n

        d['params'] = joinlist(bylowerstr(getparams(p)), True)
        d['optvars'] = joinlist(bylowerstr(getoptvars(p)), True)

        s = joinlist(bylowerstr(getparams(p)), True)
        d['fa_args'] = s

        writecode(self.outdir, self.skel, 'testfa.c', d)
Esempio n. 4
0
    def testfa(self, n):
        p = self.p

        d = {}
        d['header'] = header()

        d['n'] = n

        d['params'] = joinlist(bylowerstr(getparams(p)), True)
        d['optvars'] = joinlist(bylowerstr(getoptvars(p)), True)

        s = joinlist(bylowerstr(getparams(p)), True)
        d['fa_args'] = s

        writecode(self.outdir, self.skel, 'testfa.c', d)
Esempio n. 5
0
    def testba(self, n):
        p = self.p

        dt = {}
        dt['header'] = header()

        dt['n'] = n

        dt['params'] = joinlist(bylowerstr(getparams(p)), True)
        dt['optvars'] = joinlist(bylowerstr(getoptvars(p)), True)

        print 'Creating method signature.'
        if getparams(self.p):
            dt['fb_sig_params'] = ', '.join(['double *%s' % x for x in \
                                     bylowerstr(getparams(self.p))])
            dt['fb_sig_params'] += ','
        else:
            dt['fb_sig_params'] = ''

        dt['fb_args'] = joinlist(bylowerstr(getparams(p)), True)

        writecode(self.outdir, self.skel, 'testba.c', dt)
Esempio n. 6
0
    def testba(self, n):
        p = self.p

        dt = {}
        dt['header'] = header()

        dt['n'] = n

        dt['params'] = joinlist(bylowerstr(getparams(p)), True)
        dt['optvars'] = joinlist(bylowerstr(getoptvars(p)), True)

        print 'Creating method signature.'
        if getparams(self.p):
            dt['fb_sig_params'] = ', '.join(['double *%s' % x for x in \
                                     bylowerstr(getparams(self.p))])
            dt['fb_sig_params'] += ','
        else:
            dt['fb_sig_params'] = ''

        dt['fb_args'] = joinlist(bylowerstr(getparams(p)), True)

        writecode(self.outdir, self.skel, 'testba.c', dt)
Esempio n. 7
0
    def test2p(self, As, bs, cs, m, n, p):
        dt = {}
        dt['header'] = header()
        dt['m'] = value(m)
        dt['n'] = value(n)
        dt['p'] = value(p)

        dt['params'] = joinlist(bylowerstr(getparams(self.p)), True)
        dt['optvars'] = joinlist(bylowerstr(getoptvars(self.p)), True)

        print 'Generating code for two phase fast barrier method:'

        print 'Creating method signature.'
        if getparams(self.p):
            dt['fb_sig_params'] = ', '.join(['double *%s' % x for x in \
                                     bylowerstr(getparams(self.p))])
            dt['fb_sig_params'] += ','
        else:
            dt['fb_sig_params'] = ''

        A = nzentries(As)
        b = nzentries(bs)
        print 'Generating code for initial feasible point.'
        s = ''
        # CVXMOD_WL_t1.
        t1 = optvar('CM_t1', m, 1)
        for i in range(m):
            t = -b[i]
            for j in range(n):
                if (i, j) in A:
                    t = t + A[i, j]
            s += 'CM_t1[%d] = %s;\n' % (i, exprtoC(t))
        dt['CM_t1'] = s
        dt['fb_args'] = joinlist(bylowerstr(getparams(self.p)), True)

        writecode(self.outdir, self.skel, 'test2p.c', dt)
Esempio n. 8
0
    def test2p(self, As, bs, cs, m, n, p):
        dt = {}
        dt['header'] = header()
        dt['m'] = value(m)
        dt['n'] = value(n)
        dt['p'] = value(p)

        dt['params'] = joinlist(bylowerstr(getparams(self.p)), True)
        dt['optvars'] = joinlist(bylowerstr(getoptvars(self.p)), True)

        print 'Generating code for two phase fast barrier method:'

        print 'Creating method signature.'
        if getparams(self.p):
            dt['fb_sig_params'] = ', '.join(['double *%s' % x for x in \
                                     bylowerstr(getparams(self.p))])
            dt['fb_sig_params'] += ','
        else:
            dt['fb_sig_params'] = ''

        A = nzentries(As)
        b = nzentries(bs)
        print 'Generating code for initial feasible point.'
        s = ''
        # CVXMOD_WL_t1.
        t1 = optvar('CM_t1', m, 1)
        for i in range(m):
            t = -b[i]
            for j in range(n):
                if (i,j) in A:
                    t = t + A[i,j]
            s += 'CM_t1[%d] = %s;\n' % (i, exprtoC(t))
        dt['CM_t1'] = s
        dt['fb_args'] = joinlist(bylowerstr(getparams(self.p)), True)

        writecode(self.outdir, self.skel, 'test2p.c', dt)