Changeset b966a96 in sasmodels for sasmodels/generate.py


Ignore:
Timestamp:
Jul 21, 2016 5:12:18 PM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
6a0d6aa
Parents:
32e3c9b
Message:

better line numbers for compiler errors; tinycc support (mostly)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/generate.py

    r32e3c9b rb966a96  
    540540 
    541541    # Define the parameter table 
     542    # TODO: plug in current line number 
     543    source.append('#line 542 "sasmodels/generate.py"') 
    542544    source.append("#define PARAMETER_TABLE \\") 
    543545    source.append("\\\n".join(p.as_definition() 
     
    580582 
    581583    source.append("#if defined(USE_OPENCL)") 
    582     source.extend(_add_kernels(ocl_code[0], call_iq, call_iqxy, model_info.name)) 
     584    source.extend(_add_kernels(ocl_code, call_iq, call_iqxy, model_info.name)) 
    583585    source.append("#else /* !USE_OPENCL */") 
    584     source.extend(_add_kernels(dll_code[0], call_iq, call_iqxy, model_info.name)) 
     586    source.extend(_add_kernels(dll_code, call_iq, call_iqxy, model_info.name)) 
    585587    source.append("#endif /* !USE_OPENCL */") 
    586588    return '\n'.join(source) 
    587589 
    588590 
    589 def _add_kernels(kernel_code, call_iq, call_iqxy, name): 
    590     # type: (str, str, str, str) -> List[str] 
     591def _add_kernels(kernel, call_iq, call_iqxy, name): 
     592    # type: ([str,str], str, str, str) -> List[str] 
     593    code = kernel[0] 
     594    path = kernel[1].replace('\\', '\\\\') 
    591595    source = [ 
    592596        # define the Iq kernel 
    593597        "#define KERNEL_NAME %s_Iq" % name, 
    594598        call_iq, 
    595         kernel_code, 
     599        '#line 1 "%s-Iq"' % path, 
     600        code, 
    596601        "#undef CALL_IQ", 
    597602        "#undef KERNEL_NAME", 
     
    600605        "#define KERNEL_NAME %s_Iqxy" % name, 
    601606        call_iqxy, 
    602         kernel_code, 
     607        '#line 1 "%s-Iqxy"' % path, 
     608        code, 
    603609        "#undef CALL_IQ", 
    604610        "#undef KERNEL_NAME", 
     
    608614        "#define MAGNETIC 1", 
    609615        call_iqxy, 
    610         kernel_code, 
     616        '#line 1 "%s-Imagnetic"' % path, 
     617        code, 
    611618        "#undef MAGNETIC", 
    612619        "#undef CALL_IQ", 
Note: See TracChangeset for help on using the changeset viewer.