def _check(self):
x_s = list(self.data.x.shape)<EOL>if isinstance(self.data.y, numpy.ndarray):<EOL><INDENT>y_s = list(self.data.y.shape)<EOL>if self.model.implicit:<EOL><INDENT>raise odr_error("<STR_LIT>")<EOL><DEDENT><DEDENT>else:<EOL><INDENT>y_s = [self.data.y, x_s[-<NUM_LIT:1>]]<EOL>if not self.model.implicit:<EOL><INDENT>raise odr_error("<STR_LIT>")<EOL><DEDENT>self.set_job(fit_type=<NUM_LIT:1>)<EOL><DEDENT>if x_s[-<NUM_LIT:1>] != y_s[-<NUM_LIT:1>]:<EOL><INDENT>raise odr_error("<STR_LIT>")<EOL><DEDENT>n = x_s[-<NUM_LIT:1>]<EOL>if len(x_s) == <NUM_LIT:2>:<EOL><INDENT>m = x_s[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>m = <NUM_LIT:1><EOL><DEDENT>if len(y_s) == <NUM_LIT:2>:<EOL><INDENT>q = y_s[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>q = <NUM_LIT:1><EOL><DEDENT>p = len(self.beta0)<EOL>fcn_perms = [(q, n)]<EOL>fjacd_perms = [(q, m, n)]<EOL>fjacb_perms = [(q, p, n)]<EOL>if q == <NUM_LIT:1>:<EOL><INDENT>fcn_perms.append((n,))<EOL>fjacd_perms.append((m, n))<EOL>fjacb_perms.append((p, n))<EOL><DEDENT>if m == <NUM_LIT:1>:<EOL><INDENT>fjacd_perms.append((q, n))<EOL><DEDENT>if p == <NUM_LIT:1>:<EOL><INDENT>fjacb_perms.append((q, n))<EOL><DEDENT>if m == q == <NUM_LIT:1>:<EOL><INDENT>fjacd_perms.append((n,))<EOL><DEDENT>if p == q == <NUM_LIT:1>:<EOL><INDENT>fjacb_perms.append((n,))<EOL><DEDENT>arglist = (self.beta0, self.data.x)<EOL>if self.model.extra_args is not None:<EOL><INDENT>arglist = arglist + self.model.extra_args<EOL><DEDENT>res = self.model.fcn(*arglist)<EOL>if res.shape not in fcn_perms:<EOL><INDENT>print(res.shape)<EOL>print(fcn_perms)<EOL>raise odr_error("<STR_LIT>" % y_s)<EOL><DEDENT>if self.model.fjacd is not None:<EOL><INDENT>res = self.model.fjacd(*arglist)<EOL>if res.shape not in fjacd_perms:<EOL><INDENT>raise odr_error(<EOL>"<STR_LIT>" % (q, m, n))<EOL><DEDENT><DEDENT>if self.model.fjacb is not None:<EOL><INDENT>res = self.model.fjacb(*arglist)<EOL>if res.shape not in fjacb_perms:<EOL><INDENT>raise odr_error(<EOL>"<STR_LIT>" % (q, p, n))<EOL><DEDENT><DEDENT>if self.delta0 is not None and self.delta0.shape != self.data.x.shape:<EOL><INDENT>raise odr_error(<EOL>"<STR_LIT>" % self.data.x.shape)<EOL><DEDENT>
Check the inputs for consistency, but don't bother checking things
        that the builtin function odr will check.