Changes in / [f923967:82d88d5] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/fit/expression.py
r3c680c1 re090ba90 188 188 189 189 # Initialize dictionary with available functions 190 global _context= {}191 global _context.update(math.__dict__)192 global _context.update(dict(arcsin=math.asin,arccos=math.acos,193 194 global _context.update(context)195 global _context.update(parameters)196 global _context['id'] = id197 local _context= {}190 globals = {} 191 globals.update(math.__dict__) 192 globals.update(dict(arcsin=math.asin,arccos=math.acos, 193 arctan=math.atan,arctan2=math.atan2)) 194 globals.update(context) 195 globals.update(parameters) 196 globals['id'] = id 197 locals = {} 198 198 199 199 # Define the constraints function … … 210 210 211 211 #print("Function: "+functiondef) 212 # CRUFT: python < 3.0; doc builder isn't allowing the following exec 213 # https://stackoverflow.com/questions/4484872/why-doesnt-exec-work-in-a-function-with-a-subfunction/41368813#comment73790496_41368813 214 #exec(functiondef, global_context, local_context) 215 eval(compile(functiondef, '<string>', 'exec'), global_context, local_context) 216 retfn = local_context['eval_expressions'] 212 exec(functiondef, globals, locals) 213 retfn = locals['eval_expressions'] 217 214 218 215 # Remove garbage added to globals by exec 219 global _context.pop('__doc__',None)220 global _context.pop('__name__',None)221 global _context.pop('__file__',None)222 global _context.pop('__builtins__')216 globals.pop('__doc__',None) 217 globals.pop('__name__',None) 218 globals.pop('__file__',None) 219 globals.pop('__builtins__') 223 220 #print globals.keys() 224 221 … … 235 232 236 233 # Break pairs into left set and right set 237 # Note: pairs is array or list, so use "len(pairs) > 0" to check for empty. 238 left,right = [set(s) for s in zip(*pairs)] if len(pairs) > 0 else ([],[]) 239 while len(pairs) > 0: 234 left,right = [set(s) for s in zip(*pairs)] if pairs != [] else ([],[]) 235 while pairs != []: 240 236 #print "within",pairs 241 237 # Find which items only occur on the right … … 265 261 satisfies the partial ordering given by the pairs in partial order. 266 262 """ 267 # Note: pairs is array or list, so use "len(pairs) > 0" to check for empty. 268 left,right = zip(*pairs) if len(pairs) > 0 else ([],[]) 263 left,right = zip(*pairs) if pairs != [] else ([],[]) 269 264 items = set(left) 270 265 n = order_dependencies(pairs)
Note: See TracChangeset
for help on using the changeset viewer.