예제 #1
0
def test_generate_fc_pxd():
    return_arg = pyf.Argument(name="two_arg", dtype=pyf.default_real)
    two_arg_func = pyf.Function(
            name='two_arg',
            args=[pyf.Argument(name='a',dtype=pyf.default_integer,
                                intent='in'),
                  pyf.Argument(name='b', dtype=pyf.default_integer,
                                intent='in')],
            return_arg=return_arg)
    ta_wrp = fc_wrap.FunctionWrapper(wrapped=two_arg_func)
    ast = [ta_wrp]
    buf = CodeBuffer()
    header_name = 'foobar'
    fc_wrap.generate_fc_pxd(ast, header_name, buf)
    code = '''\
    from fwrap_ktp cimport *

    cdef extern from "foobar":
        void two_arg_c(fwr_real_t *, fwi_integer_t *, fwi_integer_t *, fwi_integer_t *, fw_character_t *)
    '''
    compare(buf.getvalue(), code)
예제 #2
0
def test_generate_fc_pxd():
    return_arg = pyf.Argument(name="two_arg", dtype=pyf.default_real)
    two_arg_func = pyf.Function(name='two_arg',
                                args=[
                                    pyf.Argument(name='a',
                                                 dtype=pyf.default_integer,
                                                 intent='in'),
                                    pyf.Argument(name='b',
                                                 dtype=pyf.default_integer,
                                                 intent='in')
                                ],
                                return_arg=return_arg)
    ta_wrp = fc_wrap.FunctionWrapper(wrapped=two_arg_func)
    ast = [ta_wrp]
    buf = CodeBuffer()
    header_name = 'foobar'
    fc_wrap.generate_fc_pxd(ast, header_name, buf)
    code = '''\
    from fwrap_ktp cimport *

    cdef extern from "foobar":
        void two_arg_c(fwr_real_t *, fwi_integer_t *, fwi_integer_t *, fwi_integer_t *, fw_character_t *)
    '''
    compare(buf.getvalue(), code)
예제 #3
0
파일: main.py 프로젝트: certik/fwrap
def generate_fc_pxd(fc_ast, name):
    buf = CodeBuffer()
    fc_header_name = constants.FC_HDR_TMPL % name
    fc_wrap.generate_fc_pxd(fc_ast, fc_header_name, buf)
    return constants.FC_PXD_TMPL % name, buf
예제 #4
0
파일: fwrapper.py 프로젝트: wilsonify/fwrap
def generate_fc_pxd(fc_ast, name):
    buf = CodeBuffer()
    fc_header_name = constants.FC_HDR_TMPL % name
    fc_wrap.generate_fc_pxd(fc_ast, fc_header_name, buf)
    return constants.FC_PXD_TMPL % name, buf