code: def use_c_ger(node):
      if not config.blas.ldflags:
          return
      # Only float32 and float64 are supported for now.
      if node.op == ger and node.outputs[0].dtype in [
          "float32",
          "float64",
      ]:
          return [CGer(False)(*node.inputs)]
      if node.op == ger_destructive and node.outputs[0].dtype in [
          "float32",
          "float64",
      ]:
          return [CGer(True)(*node.inputs)]
  
imports: from __future__ import absolute_import, print_function, division
  from theano import config
  from theano.gof.params_type import ParamsType
  from theano.scalar import bool
  from theano.tensor.opt import in2out
  from theano.tensor.blas import ldflags, blas_header_text, blas_header_version
  from theano.tensor.blas import blas_optdb, optdb, local_optimizer
  from theano.tensor.blas import Ger, ger, ger_destructive
  from theano.tensor.blas import Gemv, gemv_inplace, gemv_no_inplace
  from theano.tensor import basic
label_desc: Use image node_id 2 for calling a global function with example usage: use_c_ger(node) and returns: list, list