parameters: (self, f, intrinsic, signature)
docstring: Create the evaluation call for a given intrinsic, signature pair.
docstring_summary: Create the evaluation call for a given intrinsic, signature pair.
docstring_tokens: Create the evaluation call for a given intrinsic signature pair .
function: def create_ir_constructor(self, f, intrinsic, signature):
  		"""Create the evaluation call for a given intrinsic, signature pair."""
  		if self.unsupported_intrinsics.get(intrinsic):
  			# we cannot create code for unsupported functions, these should not occur
  			return
  
  		mod_name = self.m_intrinsic_mods[intrinsic]
  
  		suffix = signature
  		if suffix[-1] == '_':
  			# no parameters
  			suffix = suffix[:-1]
  
  		self.write(f, "/// Generate LLVM IR for %s::%s_%s()\n" % (mod_name, intrinsic, suffix))
  		self.write(f, "llvm::Function *create_%s_%s_%s(mi::mdl::IDefinition const *func_def, bool return_derivs)\n" % (mod_name, intrinsic, suffix))
  		self.write(f, "{\n")
  		self.indent += 1
  		self.create_ir_constructor_body(f, intrinsic, signature)
  		self.indent -= 1
  		self.write(f, "}\n\n")
function_tokens: def create_ir_constructor ( self , f , intrinsic , signature ) : if self . unsupported_intrinsics . get ( intrinsic ) : # we cannot create code for unsupported functions, these should not occur return mod_name = self . m_intrinsic_mods [ intrinsic ] suffix = signature if suffix [ - 1 ] == '_' : # no parameters suffix = suffix [ : - 1 ] self . write ( f , "/// Generate LLVM IR for %s::%s_%s()\n" % ( mod_name , intrinsic , suffix ) ) self . write ( f , "llvm::Function *create_%s_%s_%s(mi::mdl::IDefinition const *func_def, bool return_derivs)\n" % ( mod_name , intrinsic , suffix ) ) self . write ( f , "{\n" ) self . indent += 1 self . create_ir_constructor_body ( f , intrinsic , signature ) self . indent -= 1 self . write ( f , "}\n\n" )