github.com/wzzhu/tensor@v0.9.24/dense_cmp.go (about)

     1  // Code generated by genlib2. DO NOT EDIT.
     2  
     3  package tensor
     4  
     5  import "github.com/pkg/errors"
     6  
     7  // Gt performs t > other elementwise. Both t and other must have the same shape.
     8  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
     9  //UseUnsafe() will ensure that the same type is returned.
    10  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
    11  func (t *Dense) Gt(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) {
    12  
    13  	var ret Tensor
    14  	if t.oe != nil {
    15  		if ret, err = t.oe.Gt(t, other, opts...); err != nil {
    16  			return nil, errors.Wrapf(err, "Unable to do Gt()")
    17  		}
    18  		if retVal, err = assertDense(ret); err != nil {
    19  			return nil, errors.Wrapf(err, opFail, "Gt")
    20  		}
    21  		return
    22  	}
    23  
    24  	if gter, ok := t.e.(Gter); ok {
    25  		if ret, err = gter.Gt(t, other, opts...); err != nil {
    26  			return nil, errors.Wrapf(err, "Unable to do Gt()")
    27  		}
    28  		if retVal, err = assertDense(ret); err != nil {
    29  			return nil, errors.Wrapf(err, opFail, "Gt")
    30  		}
    31  		return
    32  	}
    33  	return nil, errors.Errorf("Engine does not support Gt()")
    34  }
    35  
    36  // Gte performs t ≥ other elementwise. Both t and other must have the same shape.
    37  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
    38  //UseUnsafe() will ensure that the same type is returned.
    39  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
    40  func (t *Dense) Gte(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) {
    41  
    42  	var ret Tensor
    43  	if t.oe != nil {
    44  		if ret, err = t.oe.Gte(t, other, opts...); err != nil {
    45  			return nil, errors.Wrapf(err, "Unable to do Gte()")
    46  		}
    47  		if retVal, err = assertDense(ret); err != nil {
    48  			return nil, errors.Wrapf(err, opFail, "Gte")
    49  		}
    50  		return
    51  	}
    52  
    53  	if gteer, ok := t.e.(Gteer); ok {
    54  		if ret, err = gteer.Gte(t, other, opts...); err != nil {
    55  			return nil, errors.Wrapf(err, "Unable to do Gte()")
    56  		}
    57  		if retVal, err = assertDense(ret); err != nil {
    58  			return nil, errors.Wrapf(err, opFail, "Gte")
    59  		}
    60  		return
    61  	}
    62  	return nil, errors.Errorf("Engine does not support Gte()")
    63  }
    64  
    65  // Lt performs t < other elementwise. Both t and other must have the same shape.
    66  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
    67  //UseUnsafe() will ensure that the same type is returned.
    68  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
    69  func (t *Dense) Lt(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) {
    70  
    71  	var ret Tensor
    72  	if t.oe != nil {
    73  		if ret, err = t.oe.Lt(t, other, opts...); err != nil {
    74  			return nil, errors.Wrapf(err, "Unable to do Lt()")
    75  		}
    76  		if retVal, err = assertDense(ret); err != nil {
    77  			return nil, errors.Wrapf(err, opFail, "Lt")
    78  		}
    79  		return
    80  	}
    81  
    82  	if lter, ok := t.e.(Lter); ok {
    83  		if ret, err = lter.Lt(t, other, opts...); err != nil {
    84  			return nil, errors.Wrapf(err, "Unable to do Lt()")
    85  		}
    86  		if retVal, err = assertDense(ret); err != nil {
    87  			return nil, errors.Wrapf(err, opFail, "Lt")
    88  		}
    89  		return
    90  	}
    91  	return nil, errors.Errorf("Engine does not support Lt()")
    92  }
    93  
    94  // Lte performs t ≤ other elementwise. Both t and other must have the same shape.
    95  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
    96  //UseUnsafe() will ensure that the same type is returned.
    97  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
    98  func (t *Dense) Lte(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) {
    99  
   100  	var ret Tensor
   101  	if t.oe != nil {
   102  		if ret, err = t.oe.Lte(t, other, opts...); err != nil {
   103  			return nil, errors.Wrapf(err, "Unable to do Lte()")
   104  		}
   105  		if retVal, err = assertDense(ret); err != nil {
   106  			return nil, errors.Wrapf(err, opFail, "Lte")
   107  		}
   108  		return
   109  	}
   110  
   111  	if lteer, ok := t.e.(Lteer); ok {
   112  		if ret, err = lteer.Lte(t, other, opts...); err != nil {
   113  			return nil, errors.Wrapf(err, "Unable to do Lte()")
   114  		}
   115  		if retVal, err = assertDense(ret); err != nil {
   116  			return nil, errors.Wrapf(err, opFail, "Lte")
   117  		}
   118  		return
   119  	}
   120  	return nil, errors.Errorf("Engine does not support Lte()")
   121  }
   122  
   123  // ElEq performs t == other elementwise. Both t and other must have the same shape.
   124  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   125  //UseUnsafe() will ensure that the same type is returned.
   126  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   127  func (t *Dense) ElEq(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) {
   128  
   129  	var ret Tensor
   130  	if t.oe != nil {
   131  		if ret, err = t.oe.ElEq(t, other, opts...); err != nil {
   132  			return nil, errors.Wrapf(err, "Unable to do Eq()")
   133  		}
   134  		if retVal, err = assertDense(ret); err != nil {
   135  			return nil, errors.Wrapf(err, opFail, "Eq")
   136  		}
   137  		return
   138  	}
   139  
   140  	if eleqer, ok := t.e.(ElEqer); ok {
   141  		if ret, err = eleqer.ElEq(t, other, opts...); err != nil {
   142  			return nil, errors.Wrapf(err, "Unable to do Eq()")
   143  		}
   144  		if retVal, err = assertDense(ret); err != nil {
   145  			return nil, errors.Wrapf(err, opFail, "Eq")
   146  		}
   147  		return
   148  	}
   149  	return nil, errors.Errorf("Engine does not support Eq()")
   150  }
   151  
   152  // ElNe performs t ≠ other elementwise. Both t and other must have the same shape.
   153  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   154  //UseUnsafe() will ensure that the same type is returned.
   155  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   156  func (t *Dense) ElNe(other *Dense, opts ...FuncOpt) (retVal *Dense, err error) {
   157  
   158  	var ret Tensor
   159  	if t.oe != nil {
   160  		if ret, err = t.oe.ElNe(t, other, opts...); err != nil {
   161  			return nil, errors.Wrapf(err, "Unable to do Ne()")
   162  		}
   163  		if retVal, err = assertDense(ret); err != nil {
   164  			return nil, errors.Wrapf(err, opFail, "Ne")
   165  		}
   166  		return
   167  	}
   168  
   169  	if eleqer, ok := t.e.(ElEqer); ok {
   170  		if ret, err = eleqer.ElNe(t, other, opts...); err != nil {
   171  			return nil, errors.Wrapf(err, "Unable to do Ne()")
   172  		}
   173  		if retVal, err = assertDense(ret); err != nil {
   174  			return nil, errors.Wrapf(err, opFail, "Ne")
   175  		}
   176  		return
   177  	}
   178  	return nil, errors.Errorf("Engine does not support Ne()")
   179  }
   180  
   181  // GtScalar performs t > other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other
   182  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   183  // UseUnsafe() will ensure that the same type is returned.
   184  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   185  func (t *Dense) GtScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) {
   186  	var ret Tensor
   187  	if t.oe != nil {
   188  		if ret, err = t.oe.GtScalar(t, other, leftTensor, opts...); err != nil {
   189  			return nil, errors.Wrapf(err, "Unable to do GtScalar()")
   190  		}
   191  		if retVal, err = assertDense(ret); err != nil {
   192  			return nil, errors.Wrapf(err, opFail, "GtScalar")
   193  		}
   194  		return
   195  	}
   196  
   197  	if gter, ok := t.e.(Gter); ok {
   198  		if ret, err = gter.GtScalar(t, other, leftTensor, opts...); err != nil {
   199  			return nil, errors.Wrapf(err, "Unable to do GtScalar()")
   200  		}
   201  		if retVal, err = assertDense(ret); err != nil {
   202  			return nil, errors.Wrapf(err, opFail, "GtScalar")
   203  		}
   204  		return
   205  	}
   206  	return nil, errors.Errorf("Engine does not support GtScalar()")
   207  }
   208  
   209  // GteScalar performs t ≥ other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other
   210  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   211  // UseUnsafe() will ensure that the same type is returned.
   212  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   213  func (t *Dense) GteScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) {
   214  	var ret Tensor
   215  	if t.oe != nil {
   216  		if ret, err = t.oe.GteScalar(t, other, leftTensor, opts...); err != nil {
   217  			return nil, errors.Wrapf(err, "Unable to do GteScalar()")
   218  		}
   219  		if retVal, err = assertDense(ret); err != nil {
   220  			return nil, errors.Wrapf(err, opFail, "GteScalar")
   221  		}
   222  		return
   223  	}
   224  
   225  	if gteer, ok := t.e.(Gteer); ok {
   226  		if ret, err = gteer.GteScalar(t, other, leftTensor, opts...); err != nil {
   227  			return nil, errors.Wrapf(err, "Unable to do GteScalar()")
   228  		}
   229  		if retVal, err = assertDense(ret); err != nil {
   230  			return nil, errors.Wrapf(err, opFail, "GteScalar")
   231  		}
   232  		return
   233  	}
   234  	return nil, errors.Errorf("Engine does not support GteScalar()")
   235  }
   236  
   237  // LtScalar performs t < other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other
   238  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   239  // UseUnsafe() will ensure that the same type is returned.
   240  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   241  func (t *Dense) LtScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) {
   242  	var ret Tensor
   243  	if t.oe != nil {
   244  		if ret, err = t.oe.LtScalar(t, other, leftTensor, opts...); err != nil {
   245  			return nil, errors.Wrapf(err, "Unable to do LtScalar()")
   246  		}
   247  		if retVal, err = assertDense(ret); err != nil {
   248  			return nil, errors.Wrapf(err, opFail, "LtScalar")
   249  		}
   250  		return
   251  	}
   252  
   253  	if lter, ok := t.e.(Lter); ok {
   254  		if ret, err = lter.LtScalar(t, other, leftTensor, opts...); err != nil {
   255  			return nil, errors.Wrapf(err, "Unable to do LtScalar()")
   256  		}
   257  		if retVal, err = assertDense(ret); err != nil {
   258  			return nil, errors.Wrapf(err, opFail, "LtScalar")
   259  		}
   260  		return
   261  	}
   262  	return nil, errors.Errorf("Engine does not support LtScalar()")
   263  }
   264  
   265  // LteScalar performs t ≤ other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other
   266  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   267  // UseUnsafe() will ensure that the same type is returned.
   268  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   269  func (t *Dense) LteScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) {
   270  	var ret Tensor
   271  	if t.oe != nil {
   272  		if ret, err = t.oe.LteScalar(t, other, leftTensor, opts...); err != nil {
   273  			return nil, errors.Wrapf(err, "Unable to do LteScalar()")
   274  		}
   275  		if retVal, err = assertDense(ret); err != nil {
   276  			return nil, errors.Wrapf(err, opFail, "LteScalar")
   277  		}
   278  		return
   279  	}
   280  
   281  	if lteer, ok := t.e.(Lteer); ok {
   282  		if ret, err = lteer.LteScalar(t, other, leftTensor, opts...); err != nil {
   283  			return nil, errors.Wrapf(err, "Unable to do LteScalar()")
   284  		}
   285  		if retVal, err = assertDense(ret); err != nil {
   286  			return nil, errors.Wrapf(err, opFail, "LteScalar")
   287  		}
   288  		return
   289  	}
   290  	return nil, errors.Errorf("Engine does not support LteScalar()")
   291  }
   292  
   293  // EqScalar performs t == other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other
   294  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   295  // UseUnsafe() will ensure that the same type is returned.
   296  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   297  func (t *Dense) ElEqScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) {
   298  	var ret Tensor
   299  	if t.oe != nil {
   300  		if ret, err = t.oe.EqScalar(t, other, leftTensor, opts...); err != nil {
   301  			return nil, errors.Wrapf(err, "Unable to do EqScalar()")
   302  		}
   303  		if retVal, err = assertDense(ret); err != nil {
   304  			return nil, errors.Wrapf(err, opFail, "EqScalar")
   305  		}
   306  		return
   307  	}
   308  
   309  	if eleqer, ok := t.e.(ElEqer); ok {
   310  		if ret, err = eleqer.EqScalar(t, other, leftTensor, opts...); err != nil {
   311  			return nil, errors.Wrapf(err, "Unable to do EqScalar()")
   312  		}
   313  		if retVal, err = assertDense(ret); err != nil {
   314  			return nil, errors.Wrapf(err, opFail, "EqScalar")
   315  		}
   316  		return
   317  	}
   318  	return nil, errors.Errorf("Engine does not support EqScalar()")
   319  }
   320  
   321  // NeScalar performs t ≠ other elementwise. The leftTensor parameter indicates if the tensor is the left operand. Only scalar types are accepted in other
   322  // Acceptable FuncOpts are: UseUnsafe(), AsSameType(), WithReuse().
   323  // UseUnsafe() will ensure that the same type is returned.
   324  // Tensors used in WithReuse has to have the same Dtype as the return value's Dtype.
   325  func (t *Dense) ElNeScalar(other interface{}, leftTensor bool, opts ...FuncOpt) (retVal *Dense, err error) {
   326  	var ret Tensor
   327  	if t.oe != nil {
   328  		if ret, err = t.oe.NeScalar(t, other, leftTensor, opts...); err != nil {
   329  			return nil, errors.Wrapf(err, "Unable to do NeScalar()")
   330  		}
   331  		if retVal, err = assertDense(ret); err != nil {
   332  			return nil, errors.Wrapf(err, opFail, "NeScalar")
   333  		}
   334  		return
   335  	}
   336  
   337  	if eleqer, ok := t.e.(ElEqer); ok {
   338  		if ret, err = eleqer.NeScalar(t, other, leftTensor, opts...); err != nil {
   339  			return nil, errors.Wrapf(err, "Unable to do NeScalar()")
   340  		}
   341  		if retVal, err = assertDense(ret); err != nil {
   342  			return nil, errors.Wrapf(err, opFail, "NeScalar")
   343  		}
   344  		return
   345  	}
   346  	return nil, errors.Errorf("Engine does not support NeScalar()")
   347  }