Changeset 1ddb794 in sasmodels for sasmodels/autoc.py
- Timestamp:
- Dec 18, 2017 10:48:16 AM (6 years ago)
- Children:
- 8224d24
- Parents:
- 98a4f14
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/autoc.py
r2badeca r1ddb794 72 72 function_name, function = translate.pop(0) 73 73 filename = function.__code__.co_filename 74 escaped_filename = filename.replace('\\', '\\\\') 74 75 offset = function.__code__.co_firstlineno 75 76 refs = function.__code__.co_names … … 93 94 elif isinstance(obj, float): 94 95 constants[name] = obj 96 snippets.append('#line 1 "%s"' % escaped_filename) 95 97 snippets.append("const double %s = %.15g;"%(name, obj)) 96 98 elif isinstance(obj, int): 97 99 constants[name] = obj 100 snippets.append('#line 1 "%s"' % escaped_filename) 98 101 snippets.append("const int %s = %d;"%(name, obj)) 99 102 elif isinstance(obj, (list, tuple, np.ndarray)): … … 106 109 obj = list(obj) + [0.]*(4-len(obj)) 107 110 vals = ", ".join("%.15g"%v for v in obj) 111 snippets.append('#line 1 "%s"' % escaped_filename) 108 112 snippets.append("const double %s[] = {%s};" %(name, vals)) 109 113 elif isinstance(obj, special.Gauss): … … 129 133 130 134 # translate source 131 functions = py2c.translate( 132 [code[name] for name in ordered_dag(depends) if name in code], 133 constants) 134 snippets.clear() 135 snippets.append(functions) 136 #print("source", info.source) 137 print("\n".join(snippets)) 138 try: 139 c_text = "\n".join(snippets) 140 translated = open ("_autoc.c", "a+") 141 translated.write (c_text) 142 translated.close() 143 except Exception as excp: 144 strErr = "Error:\n" + str(excp.args) 145 print(strErr) 146 #return 147 # raise RuntimeError("not yet converted...") 135 ordered_code = [code[name] for name in ordered_dag(depends) if name in code] 136 functions = py2c.translate(ordered_code, constants) 137 snippets.extend(functions) 148 138 149 139 # update model info
Note: See TracChangeset
for help on using the changeset viewer.