class_docstr: This op can be inplace if behaviour is 'times1_inplace'
  This op can be destructive if behaviour is 'times2_inplace'
  
  In both cases, it does not set the destroy_map or view_map correctly so
  it should raise an error in DebugMode.
class_docstr_tok: ["This","op","can","be","inplace","if","behaviour","is","'times1_inplace'","This","op","can","be","destructive","if","behaviour","is","'times2_inplace'","In","both","cases",",","it","does","not","set","the","destroy_map","or","view_map","correctly","so","it","should","raise","an","error","in","DebugMode","."]
code: def dontuse_perform(self, node, inp, out_):
      (a,) = inp
      (out,) = out_
      if self.behaviour == "times2":
          out[0] = a * 2
      elif self.behaviour == "times2_inplace":
          out[0] = a
          out[0] *= 2
      elif self.behaviour == "times1":
          out[0] = a * 1
      elif self.behaviour == "times1_inplace":
          out[0] = a
      else:
          raise ValueError(self.behaviour)
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  import unittest
  from nose.plugins.skip import SkipTest
  import numpy
  from six import reraise
  from theano import config
  from theano import gof
  import theano
  from theano.compat import exc_message
  from theano.compile import debugmode
  import theano.tensor
  from theano.tests import unittest_tools
label_desc: Use image node_id 3 for calling the WeirdBrokenOp obj's underlying member method code with example usage: obj.dontuse_perform(node, inp, out_) without return types