def compile_flat_source(self, parakeet_fn, attributes = [], inline = True):
      
    # make sure compiled source uses consistent names for tuple and array types, 
    # which both need declarations for their C struct representations  
    struct_types = set(t for t in parakeet_fn.type_env.itervalues() 
                         if isinstance(t, (ArrayT, TupleT)))
    
    # include your own class in the cache key so that we get distinct code 
    # for derived compilers like OpenMP and CUDA 
    key = parakeet_fn.cache_key, frozenset(struct_types), self.cache_key, tuple(attributes)
    
    if self._flat_compile_cache in key:
      return self._flat_compile_cache[key]
    
    name, sig, src = self.visit_flat_fn(parakeet_fn, attributes = attributes, inline = inline)
    
    result = CompiledFlatFn(
      name = name, 
      sig = sig, 
      src = src,
      extra_objects = self.extra_objects, 
      extra_functions = self.extra_functions,
      extra_function_signatures = self.extra_function_signatures,
      declarations = self.declarations)
    self._flat_compile_cache[key] = result
    return result
dataset/ETHPy150Open iskandr/parakeet/parakeet/c_backend/fn_compiler.py/FnCompiler.compile_flat_source/swapped operands of `in`